Authentification ASP.NET avec composant Login

Résolu
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010 - 29 nov. 2008 à 11:53
 arig1 - 22 avril 2013 à 16:52
Bonjour,

Dans le cadre de la création d'un site web sécurisé en ASP.NET avec VB.NET, je souhaite que les internautes se connectent sur la première page de mon site. J'utilise donc le composant "login".

Mon problème :
-----------------

Lorsque je saisis un login et/ou un mot de passe erronné, tout se passe correctement (message d'erreur et réctualisation de la page en cours).

Lorsque je saisi le bon login et le bon mot de passe, ma page se réactualise avec aucun message alors qu'elle devrait réorienter l'internaute vers une seconde page....

J'ai bien sur vérifié dans les propriétés de mon composant "login" que la bonne page de redirection était définie.

Mon code :
------------

Protected
Sub Login_Authenticate(
ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.AuthenticateEventArgs)
Handles Login.Authenticate

   If Authentifier(Login.UserName, Login.Password)
Then      FormsAuthentication.RedirectFromLoginPage(Login.UserName,

False)

   End
If

End
Sub

Private
Function Authentifier(
ByVal strUtilisateur
As
String,
ByVal strMotDePasse
As
String)
As
Boolean

   Dim bOk
As
Boolean =
False   ' Cryptage du mot de passe

   strMotDePasse = FormsAuthentication.HashPasswordForStoringInConfigFile(strMotDePasse,

"MD5")

   ' Définition de la requête à exécuter

   Dim Verif_Login
As
Integer = BDD.NbEnr(
"SELECT count(Login) FROM Cpt_Joueur WHERE (login='" & strUtilisateur & _

      "' and motdepasse='" & strMotDePasse &
"')")

   Select
Case Verif_Login

         CaseIs > 0               bOk True               Login.FailureText

"çà marche !"

         CaseIs 0               bOk

False               Login.FailureText =

"L: " & strUtilisateur &
" M: " & strMotDePasse

         CaseIs < 0               bOk False               Login.FailureText

"Erreur base de donnees!"

   End
Select   

   Return bOk

End
Function

Merci de votre aide,

10 réponses

yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
30 nov. 2008 à 23:26
Bonjour

La fonction est correct dans le cas où l'utilisateur arrive à ta page login en tappant l'url d'une autre page par ce que la méthode RedirectFromLogin vérifie le paramètre passé en querystring qui est ReturnUrl qui redirige l'utilisateur à la page qui a demandé avant l'authentification mais si l'utilisateur tape directement l'url de la page login dans ce cas la méthode ne fonctionnera pas alors tu peux forcer la redirection, exemple :

string

url =
base.Request.QueryString[
"ReturnUrl"];

if (!
String.IsNullOrEmpty(url)){

FormsAuthentication.RedirectFromLoginPage(Login.UserName, False)}

else{

Response.Redirect(
"Accueil.aspx");}

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
3
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010
2 déc. 2008 à 16:32
Super, merci pour ces explications. J'y voies plus clair et çà marche !!!!!!
0
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010
26 mars 2009 à 15:38
maintenant que j'arrive à faire un site web sécurisé via web.config et le composant "login asp.net", je voudrais récupérer les infos de l'utilisateur logué.

Dans un premier temps, j'ai créé une variable de session pour mémoriser les infos mais j'ai découvert page.user.identity.name.

Le problème que je rencontre est que je me dirige bien vers la page "accueil.aspx" une fois l'identité vérifiée mais page.user.identity.name reste désespérément vide !!!!!

ASP.NET semble considérer que mon identité n'est pas authentifiée.

Ce dispositif fonctionne avec une requete vers une base de donnée ou uniquement avec un fichier XML ou en utilisant les "credential" ?
0
hardzip Messages postés 6 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 11 juin 2009
28 mai 2009 à 16:24
Bonjour morpheu81fr
Pourrais je avoir un peu de ton code intervenant dans la gestion du login car je fais à peu pres la meme chose et ça va bientot faire une semaine que je n'arrive à rien bien (qu'ayant fait moulte recherche)!
Si je pouvais avoir le code gerant le login et surtout la partie ce trouvant ds le fichier web.config ça ne serait pas de refus!

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010
29 mai 2009 à 02:33
le plus simple est que tu postes ton web.config et que tu me dises ce que tu veux faire. Je pourrais sans doute t'aider ...
0
sara20059 Messages postés 6 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 27 juin 2010
25 juin 2010 à 02:12
Bonsoir,
S'il vous plait j'ai une question.
Je veux utiliser une classe connexion puisque je veux faire une authentification par code.Le probleme c'est que quand j'instancie la classe Connexion,cette classe n'est pas reconnue!!
Merci
0
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010
27 juin 2010 à 10:26
Peux tu donner des détails ?

que veux dire "pas reconnue" ??? pas instanciée ? message d'erreur ?
0
sara20059 Messages postés 6 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 27 juin 2010
27 juin 2010 à 23:55
Merciii bcp c'est resolue,j'ai utilisé une classe connexion dans un site en asp.net et à chaque fois je veux faire des requetes j'appelle seulement la fonction dans la classe connexion
0
morpheus81fr Messages postés 23 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 28 juin 2010
28 juin 2010 à 10:59
Oui tout à fait. L'instanciation d'une classe ne doit se faire qu'une seule fois. Ensuite tu appelles la fonction à l'intérieur de ta classe autant de fois que tu veux ....
0
Bonsoir,
S'il vous plait j'ai une question.
comment quand on fait la connexion (login et password) nous le ramène à une autre page mais il ne faut pas retourner à l'ancienne page par flèche de retour en haut? comment faire ça dans mon code du session de sécurisation
svp aidé moi à faire ce code
0
Rejoignez-nous