cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
17 avril 2007 à 12:20
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
18 avril 2007 à 08:52
Bonjour
Après avoir consulté un article très bien fait (Merci yanis7518) j'ai enfin réussi à faire un provider qui marche... Enfin je croyais
Public
Overrides
Function ValidateUser(
ByVal username
As
String,
ByVal password
As
String)
As
Boolean
Try
Dim request
As
String =
"SELECT * FROM user WHERE (login='" + username.ToString.Trim() +
"' AND password='" + password.ToString.Trim() +
"')"
Dim osqlconn
As SqlConnection =
New SqlConnection(
"lisadocConnectionString")
Dim osqlcom
As SqlCommand =
New SqlCommand(request, osqlconn)
osqlconn.Open()
Dim result
As
Object = osqlcom.ExecuteScalar()
If (
Not result
Is
Nothing)
Then
Return
True
Else :
Return
False
End
If
Catch ex
As Exception
<authenticationmode="
Forms"
>
<formsloginUrl="
login.aspx"
protection="
All"
timeout="
3600"
/>
</authentication>
<authorization>
<denyusers="
?"
/>
</authorization>Ensuite, quand un utilisateur veux se connecter :
Protected
Sub Connexion_Authenticate(
ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.AuthenticateEventArgs)
Handles Connexion.Authenticate
If (Membership.ValidateUser(Connexion.UserName, Connexion.Password))
Then
FormsAuthentication.RedirectFromLoginPage(Connexion.UserName, Connexion.RememberMeSet)
Else
Message.Text =
"Login ou mot de passe incorrect."
End
If
End
Sub
Et là j'ai l'erreur suivante ConfigurationErrorsException : Impossible de créer une classe abstraite. et les points d'arret dans ValidateUser ne sont pas atteints. Je pense que le provider n'est pas généré (il vaut "" dans la liste des valeurs) mais je ne comprend pas pourquoi...
Merci d'avance
A voir également:
Création d'un provider en VB (Problème dans Web.config)
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 17 avril 2007 à 14:22
Non, il faut tout redéfinir !
Tu dois absolument implémenter les Propriétés, elle donnent la configuration de ton Provider (c'est des propriétés de base genre "longueur du mot de passe", etc...), pour le reste, tu peux laisser vide, ou lancer par exemple une NotImplementedException() dans les fonctions que tu ne veux pas implémenter, etc..
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 17 avril 2007 à 12:31
Salut,
C'est normal, tu as déclaré ta classe MustInherit ! Il ne faut pas, ce mot clé empêche la classe d'être utilisée telle quelle et l'oblige à être héritée...
Donc il suffit de l'enlever et normalement c'est bon .
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 17 avril 2007 à 13:39
Merci pour ta réponse
En fait je l'ai mis parceque sinon ya une erreur parceque j'ai pas redéfini l'ensemble des méthodes de MembershipProvider.
Est-ce qu'il y aurait un moyen de l'enlever sans être obligé de tout redéfinir?