je construis une application Web à l'aide du modèle maître par défaut dans VS2010 - très nouveau pour le faire. J'utilise également la page Login.aspx, mais au lieu d'utiliser la validation utilisateur intégrée, mes informations utilisateur se trouvent dans une table de base de données. Donc, suivant les instructions que j'ai trouvé, je fais quelque chose Wery semblable à ceci:Comment valider le mot de passe lorsque TextMode = « Mot de passe »
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
Boolean bauthenticated = false;
bauthenticated = isValidUser(Login1.UserName, Login1.Password);
if (bauthenticated)
{
e.Authenticated = true;
}
else
{
e.Authenticated = false;
}
}
Le problème est que je mets la méthode isValidUser dans un .dll il pourrait être utilisé ailleurs, et il ne reçoit pas le mot de passe parce que le comportement par défaut est de l'effacer. J'ai même essayé de définir une variable de chaîne à Login1.Password, et passer la variable sans succès. Je comprends pourquoi cela se produit, mais je ne trouve aucune information sur la façon de le faire correctement. Dois-je mettre le nom d'utilisateur et le mot de passe dans un objet et le transmettre à mon constructeur de classe? Je ne veux vraiment pas me connecter à ma base de données à partir de chaque page Login.aspx que je crée pour éviter d'envoyer le mot de passe sur http.
Vérifiez votre méthode isValidUser –
Quel type d'objet est 'Login1'? –
Corrigez-moi si je me trompe ici, mais n'est pas la réponse à simplement ** ne pas effacer le mot de passe **? Pouvez-vous poster le code pour 'isValidUser'? FYI - votre code pourrait être raccourci à 1 ligne: 'e.Authenticated = isValidUser (Login1.UserName, Login1.Password)'. – James