Bonjour tous le monde.
Je suis nouveau dans le monde .net lié au web (asp.net donc), je n'ai
fais que du client lourd en .net pour l'instant. j'ai aussi développé
pas mal de site web en php.
Je me pose donc la question de comment gérer l'autentification des
utilisateurs au sein de mon site web (on va dire que c'est un portail
par exemple) de façon propre (asp.net 1.1). J'aimerai basé cette
authentification sur une base de données (sqlserver) qui contient une
table "user" avec login, pass, email etc....
Pour l'instant ce que j'ai essayé de faire:
Un UserControl LoginForm.ascx qui contient un form avec deux champs
(login et password), le tout dans un div. Cela me permet d'avoir un
composant graphique complétement indépendant que je peux placer
n'importe ou dans mon site.
Une classe Login (Login.cs) qui contient toute la logique
d'authentification histoire d'être indépendant de la mise en forme.
Cette classe contient notament les méthodes publiques LoginUser(string
username, string pass), LogoutUser(string username), isLogin(string
username)
Dans toutes mes pages de site j'ai un header que j'ai mis aussi dans un
UserControl. Dans ce header j'ai soit une phrase du style "vous êtes
machin - deconnection" soit "vous connecter".
Je me demande si c'est une bonne solution car je suis confronté à quelques problèmes:
dans la méthode LoginUser j'utilise FormsAuthentication.SetAuthCookie
pour enregistrer le cookie, mais je ne trouve pas de moyen
d'implémenter la fonction isLogin avec cette méthode. Je n'arrive pas
dans mon LoginForm à savoir quelle phrase je dois afficher.
De plus j'ai vu que je dois utiliser le fichier web.config pour
parameter l'authentification. Je suis encore un peu perdu avec cette
approche.
Enfin, j'aurai aimé utiliser les sessions pour mon authentification,
mais je ne peux pas acceder à l'objet Session via ma classe Login (elle
n'hérite de rien).
Voilà quelques questions pour être sûr de bien faire. Si quelqu'un a des remarques à faire je suis preneur.
Merci!