У меня возникла странная периодическая проблема с MVC4/IIS/Forms Authentication.
У меня есть пара сайтов, которые передают управление друг другу, используя 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
}
}
Любые идеи?