2011-09-22 1 views
1

Je crée une nouvelle application Web dans ASP.NET (en C#) en utilisant FormsAuthentication pour la connexion. Une configuration standard FormsAuthentication est actuellement en place, avec les noms d'utilisateur et les mots de passe spécifiés dans le fichier web.config, comme d'habitude, et cette configuration fonctionne très bien. Cependant,Comment utiliser FormsAuthentication avec des connexions stockées dans la table DB SQL Server?

Je voudrais lier cette configuration de connexion à une table SQL Server dans la base de données. Cette table stocke les informations de compte d'utilisateur pour chaque utilisateur, y compris le nom d'utilisateur et le mot de passe. Fondamentalement, je voudrais trouver un moyen pour que la ligne de code suivante recherche un nom d'utilisateur et mot de passe dans cette table DB, plutôt que dans le web.config comme il le fait normalement:

FormsAuthentication.Authenticate (txt_username. Texte, txt_password.Text);

Mais je ne sais pas comment faire exactement cela. J'ai lu sur Membership.ValidateUser, mais je n'arrive toujours pas à trouver comment l'utiliser pour créer un lien vers les noms d'utilisateur et les mots de passe dans la table users de la base de données.

Toute aide sera grandement appréciée! (Btw, ceci est mon premier message, alors s'il vous plaît n'hésitez pas à signaler les erreurs Noob que j'ai pu faire).

Répondre

1

Vous devez implémenter un MembershipProvider personnalisé. Le MembershipProvider est le mécanisme que votre application utilisera pour authentifier les utilisateurs ainsi que pour gérer les fonctionnalités liées à l'utilisateur (changer le mot de passe, déverrouiller les utilisateurs, etc.).

Un MembershipProvider personnalisé n'est rien de plus qu'une classe qui étend la classe abstraite MembershipProvider. C'est ici que vous allez écrire une logique personnalisée pour l'interface avec votre base de données afin d'effectuer les actions d'adhésion requises (valider les informations d'identification, créer l'utilisateur, changer le mot de passe, etc.).

Jetez un oeil à ce tutoriel:

http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

This est une bonne ressource si vous n'êtes pas familier avec ASP.NET membres.

+0

Merci, je regardais dans ces deux ressources, mais finalement compris mon problème: Je pensais que la ligne de code suivante était la ligne responsable de l'authentification: FormsAuthentication.Authenticate (txt_username.Text, txt_password.Text) Cependant, maintenant je réalise que cette ligne valide simplement si un utilisateur existe, et si oui, si le mot de passe correspond à lui. Maintenant, je sais que l'utilisateur n'est pas connecté au site. La ligne qui se connecte est: FormsAuthentication.RedirectFromLoginPage (nom_utilisateur_txt, true); Mais merci beaucoup pour votre aide! :) – user960123

Questions connexes