Ich habe ein seltsames zeitweiliges Problem mit MVC4/IIS/Formularauthentifizierung.MVC4/IIS/Formularauthentifizierung SSO-Problem
Ich habe ein Paar Websites, die die Kontrolle über SSO übergeben. Die meiste Zeit ist die Übergabe korrekt und der Benutzer wird wie beabsichtigt zur nächsten Seite weitergeleitet. In einigen Fällen wird der Benutzer jedoch aufgefordert, sich erneut anzumelden, obwohl gültige SSO-Informationen gesendet wurden. Die SSO
-Methode ist mit dem -Attribut und der web.config verfügt über einen Standorteintrag, der allen Benutzern Zugriff auf /account/sso gewährt.
Es scheint zu auftreten, wenn die Zielwebsite zum ersten Mal getroffen wird - sobald der App-Pool aufgewärmt ist, verschwindet das Problem.
Einige andere Punkte:
1 beide Seiten sind .net 4, so sollte es keine Legacy-Verschlüsselung Probleme sein.
2. Dieses Problem tritt ganz selten (< 10% der Zeit), so dass der Code selbst sollte
3. Hosting ist IIS 7.5 auf Win7x64 lokal Ton sein, und azur - geschieht in beiden Orten
4. Scheint unabhängig sein
<location path="account/sso">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
[Authorize]
public class AccountController : BaseControllerTestable
{
public AccountController()
: base()
{
}
[AllowAnonymous]
public ActionResult SSO(string AuthToken, string Target)
{
//SSO logic here
}
}
Irgendwelche Ideen?
Wird der Anmeldebildschirm beim Start einer neuen Sitzung angezeigt? Wie wird das Sitzungszeitlimit für beide Web-Apps festgelegt? haben sie unterschiedliche Anwendungspools? Haben diese Pools eine Recyclingeinstellung? hat die Leistungsindikatoren der Websites beendet und relevante Leistungsindikatoren der Site aufgezeichnet, wie Session-Timeout, Neukompilierung? – Siraf
Klingt definitiv nicht ein Code-Problem. Meine Vermutung wäre entweder Cookie-Timeout, wenn Sie Cookies verwenden, oder App-Pool-Recycling.Fügen Sie eine Ablaufverfolgung in Ihre Authentifizierungslogik ein, wird die SSO-Methode ausgeführt, wenn das Problem auftritt? – Sergey