2012-08-04 7 views
0

Je n'arrive pas à configurer l'appartenance par défaut. Je peux m'inscrire, mais plus tard, je suis incapable de me connecter à mon application. Le Membership.ValidateUser retourne toujours false.Membership.ValidateUser renvoie toujours false

Voici la configuration que je utilise:

<connectionStrings> 
    <clear /> 
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=tcp:s09.winhost.com;Initial Catalog=*****;User ID=******;Password=**********;Integrated Security=False;" /> 
</connectionStrings> 

<profile defaultProvider="DefaultProfileProvider"> 
    <providers> 
    <clear/> 
    <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
    </providers> 
</profile> 
<membership defaultProvider="DefaultMembershipProvider" hashAlgorithmType="SHA1"> 
    <providers> 
    <clear/> 
    <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/goaly" /> 
    </providers> 
</membership> 
<roleManager defaultProvider="DefaultRoleProvider"> 
    <providers> 
    <clear/> 
    <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
    </providers> 
</roleManager> 
<sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
    <providers> 
    <clear/> 
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
    </providers> 
</sessionState> 

<machineKey validationKey="2CE9C29E0CA905FA4CB11E7A20158566A1C7B0CFD9B94528B6758FB1B1588E2928B70F7D1EC2174CB1CB2C6AAB03F2D3848B502AEB46C60B7370A032FFDA716C" decryptionKey="6B0F32F19532E948C4431B9437A12F32BE56706DB3483205706ECCF2BDA7C167" validation="SHA1" decryption="AES" /> 

Je l'ai vu plusieurs questions Why does Membership.ValidateUser() always return false? mais j'ai essayé ajouté à la fois une clé de la machine et un réglage de la hashalgoritm.

Je peux voir qu'un nouvel enregistrement est créé dans la table dbo.Memberships et dans la table dbo.User lorsque j'inscris un nouvel utilisateur, mais la connexion n'est pas possible. Un problème possible pourrait être qu'une vue ou une procédure stockée est manquante, je n'en ai créé aucune, à supposer qu'ils soient créés correctement (les tables User, UsersInRolesm Roles, Profiles, Memberships ont été créées automatiquement)

Merci pour toute aide

Larsi

+0

votre chaîne de connexion = "*******"? avez-vous juste le cacher? est votre chaîne de connexion est smilar à ce ' '? –

+0

@WaqarJanjua merci d'avoir regardé cela. J'ai mis à jour la chaîne de connexion en question. Des idées? – Larsi

Répondre

0

Arghhhh !!!

J'ai découvert pourquoi je n'ai pas pu se connecter.

Dans mon AccountController (créé par mvc 4 modèle) la ligne

Membership.CreateUser(model.UserName, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus); 

a été changé pour

Membership.CreateUser(model.UserName, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: false, providerUserKey: null, status: out createStatus); 

Lorsque Je prends les derniers morceaux, c'est vrai. Aucune idée de pourquoi il a été mis à faux.

Peut-être que le modèle a changé, ou peut-être que la fonctionnalité IsApproved a changé. De toute façon ça ne marche pas bien.

Larsi

0

Autres causes possibles:

1: Mot de passe incorrect

2: L'utilisateur est verrouillé

3: L'utilisateur est pas approuvé

4: ?? somethin autre ?? et a besoin de plus d'enquête. Est-ce que cela fonctionnait avant et a cessé de fonctionner? Avez-vous fait d'autres changements comme passwordFormat ou quelque chose à votre fournisseur memberhsip .... et ainsi de suite.

Source: http://forums.asp.net/t/1392208.aspx

Questions connexes