2009-03-15 4 views
1

Une idée de la raison pour laquelle LoginControl exige que les utilisateurs s'authentifient deux fois avec FireFox mais fonctionne correctement (une fois) avec IE? J'utilise un MembershipProvider personnalisé et RoleProvider, si cela est important.LoginControl ne fonctionne pas correctement avec Firefox, nécessite une double tentative de connexion

Partie d'authentification de mon web.config;

<authentication mode="Forms"> 
     <forms 
      timeout="50000000" 
      protection="All" 
      requireSSL="false" 
      slidingExpiration="true" 
      cookieless="AutoDetect" 
      domain="" 
      enableCrossAppRedirects="true"> 
     <credentials passwordFormat="SHA1" /> 
    </forms>   
</authentication> 

Section d'appartenance;

<membership defaultProvider="CustomMembershipProvider"> 
     <providers> 
      <add 
    name="CustomMembershipProvider" 
    type="CustomCrateMembershipProvider" 
    connectionString="" 
    enablePasswordRetrieval="false" 
    enablePasswordReset="true" 
    requiresQuestionAndAnswer="true" 
    applicationName="/" 
    requiresUniqueEmail="true" 
    passwordFormat="Hashed" 
    maxInvalidPasswordAttempts="5" 
    minRequiredPasswordLength="5" 
    minRequiredNonalphanumericCharacters="1" 
    passwordAttemptWindow="10" 
    passwordStrengthRegularExpression=""/> 
     </providers> 
    </membership> 
    <roleManager defaultProvider="CustomRoleProvider" enabled="true"> 
     <providers> 
      <add name="CustomRoleProvider" type="CustomRoleProvider"/> 
     </providers> 
    </roleManager> 

Seul le code derrière est lié à la connexion;

protected void OnLoggedIn(object sender, EventArgs e) 
{ 
} 

protected void OnLoggingOut(object sender, EventArgs e) 
{ 
} 
+0

Ce n'est vraiment pas assez d'informations pour répondre à votre question. Veuillez également publier la section d'adhésion de votre web.config ainsi que le codebehind/front de la page sur laquelle vous utilisez le contrôle. – Stefan

Répondre

2

Hmmm ... Il semble étrange que cela fonctionne dans IE mais pas dans Firefox.

Essayez d'ajouter ceci à vos formulaires-paramètres:

loginUrl="~/Login.aspx" defaultUrl="default.aspx" 
+0

J'ai trouvé que j'avais une méthode de log appelée dans la page (oui je sais que je l'ai déplacé au code derrière) il semble accéder à "Request.ServerVariables [" REMOTE_ADDR "];" déclencher quelque chose? Si j'enlève cela, le double (avec les ajouts que vous avez mentionnés) fonctionne bien. – CmdrTallen

+0

Suppression de la partie "REMOTE_ADDR" et ajout de paramètres de formulaires suggérés par Stefan et fonctionne maintenant. Merci. – CmdrTallen

+0

Cool. Content que je puisse aider. – Stefan

1

Cela a été me rend fou pour les deux dernières heures - résolu en changeant le délai d'attente dans web.config à une valeur plus grande, par exemple de 30 à 30000

+0

Merci - nous avons eu un problème où Chrome et IE ont tous deux refusé de s'authentifier et Firefox a bien fonctionné. Nous avions essayé quelques options, augmentant la valeur de délai d'attente travaillé pour nous. – Darren

Questions connexes