J'ai créé une classe BasicMembershipProvider qui hérite de MembershipProvider. Une fois implémentée, l'objet ValidateUser n'est pas appelé. Ceci est ma configuration:ASP.NET FormsAuthentication n'utilise pas la valeur par défaut MembershipProvider
web.config
<membership defaultProvider="BasicMembershipProvider">
<providers>
<clear/>
<add name="BasicMembershipProvider" type="MyMVCProject.Providers.BasicMembershipProvider"/>
</providers>
</membership>
BasicMembershipProvider.cs
public class BasicMembershipProvider : MembershipProvider
{
//THIS FUNCTION NEVER GETS CALLED
public override bool ValidateUser(string email, string password)
{
//Do custom checks.
}
}
Contrôleur
FormsAuthentication.Authenticate(model.Email, model.Password)
Est-ce la voie à suivre sur le remplacement du MembershipProvider avec mon propre logique d'adhésion? Si oui, pourquoi la fonction surchargée ValidateUser
n'est pas appelée chaque fois que j'appelle FormsAuthentication.Authenticate()
?
+1 En effet. Ce n'est pas le cas, ce qui est absolument ridicule. Comme le reste de FormsAuthentication. – Aliostad
@Aliostad I LOL'd à la partie sur 'FormsAuthentication' étant ridicule. Alors je me souviens que c'est, en fait, horrible. Et que je suis coincé en l'utilisant :( – Yuck