У меня странная периодическая проблема с MVC4/IIS/Forms Authentication.MVC4/IIS/Forms Аутентификация Вопрос SSO
У меня есть пара сайтов, которые передают управление друг другу, используя SSO. В большинстве случаев передача обслуживания происходит правильно, и пользователь перенаправляется на следующий сайт по назначению. Однако в некоторых случаях пользователю предлагается снова войти в систему, даже если действительная информация SSO была отправлена через. Метод SSO
украшен атрибутом [AllowAnonymous]
, а web.config также имеет запись о местоположении, предоставляющую доступ к /account/sso всем пользователям.
Похоже, что когда сайт назначения попадает в первый раз - после того, как бассейн приложения разогрет, проблема исчезнет.
Некоторые другие точки:
1 оба сайта являются .net 4, так что не должно быть никаких проблем наследие шифрования.
2. эта проблема случается довольно редко (< 10% времени), так что код сам должен быть звук
3. Хостинг IIS 7.5 на Win7x64 локально, и лазурь - происходит в обоих местах
4. КАЖЕТСЯ не зависит от браузера
<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
}
}
Любые идеи?
Включен ли экран входа в систему при запуске нового сеанса? Как установить тайм-аут сеанса для обоих веб-приложений? У них есть разные пулы приложений? есть ли у этих бассейнов настройки переустановки? действительно совместимы счетчики производительности сайтов и записывали соответствующие счетчики производительности сайта, такие как тайм-аут сеанса, перекомпиляции? – Siraf
Звучит как определенно не проблема с кодом. Мое предположение было бы либо таймаутом cookie, если вы используете куки-файлы или утилиту пула приложений.Поместите некоторую трассировку в вашу логику аутентификации, выполняется ли метод SSO при возникновении проблемы? – Sergey