2

J'essaie d'utiliser le service d'authentification de formulaires ASP.NET avec la version 6.3.2 du connecteur MySQL. J'ai été en mesure de le faire fonctionner en utilisant des mots de passe en clair, mais incapable de faire fonctionner les mots de passe hachés. Voici un extrait de mon fichier machine.configMySQL Forms Authentication Problème de mot de passe haché

<system.web> 
    <membership defaultProvider="MySQLMembershipProvider"> 
    <providers> 
     <add name="MySQLMembershipProvider" 
    type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" 
    autogenerateschema="true" 
    connectionStringName="LocalMySqlServer" 
    enablePasswordRetrieval="false" 
    enablePasswordReset="true" 
    requiresQuestionAndAnswer="false" 
    applicationName="/" 
    requiresUniqueEmail="true" 
    passwordFormat="Hashed" 
    maxInvalidPasswordAttempts="5" 
    minRequiredPasswordLength="6" 
    minRequiredNonalphanumericCharacters="1" 
    passwordAttemptWindow="10" 
    passwordStrengthRegularExpression="" /> 
    </providers> 
    </membership> 
</system.web> 

J'utilise la méthode ValidateUser de la classe MembershipProvider pour effectuer l'authentification. Si la ligne passwordFormat="Hashed" est remplacée par passwordFormat="Clear", les utilisateurs s'authentifieront. Après avoir modifié les paramètres dans le fichier machine.config, j'enlève tous les utilisateurs et recréer les comptes. J'ai inspecté le contenu des tables aspnet et les mots de passe sont stockés correctement comme des hashs - juste ne pas vérifier.

+1

Merci beaucoup @dcompiled. Votre réponse a sauvé ma journée de travail! :RÉ –

Répondre

Questions connexes