我有一個MVC4/IIS/Forms身份驗證奇怪的間歇性問題。MVC4/IIS/Forms身份驗證SSO問題
我有一對使用SSO將控制權交給彼此的網站。大部分時間切換正確發生,並且用戶按照預期被重定向到下一個站點。但是,在某些情況下,即使發送了有效的SSO信息,也會要求用戶重新登錄。 SSO
方法裝飾有[AllowAnonymous]
屬性,並且web.config也具有允許所有用戶訪問/account/sso的位置條目。
當目標網站第一次被擊中時,似乎會發生這種情況 - 一旦應用程序池被預熱,問題就會消失。
的其他一些觀點:
1這兩個網站是.NET 4,所以不應該有任何遺留加密問題。
2.本期發生相當罕見(< 10%的時間),所以代碼本身應該健全
3.託管是在win7x64 IIS 7.5在當地,和天藍色 - 發生在這兩個地方
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
}
}
任何想法?
新會話啓動時是否顯示登錄屏幕? 這兩個Web應用程序的會話超時設置如何? 他們有不同的應用程序池嗎?這些泳池是否有回收設置? 確實可以終止站點的性能計數器並記錄站點的相關性能計數器,如會話超時,重新編譯? – Siraf 2013-04-11 20:07:28
聽起來像絕對不是代碼問題。如果您使用Cookie或應用程序池回收,我的猜測可能是Cookie超時。在認證邏輯中添加一些跟蹤,發生問題時是否執行SSO方法? – Sergey 2013-04-16 01:26:47