我正在使用MVC4 c#併合並了本地安全令牌服務(STS)。用戶調用實際的網址,並被動地重定向到STS登錄。當他們成功通過身份驗證後,他們會被重定向到他們應該去的地方,這些都是在重定向到sts的URL中被urlencoded。使用MVC4的移動設備上的STS FederatedPassiveSignout C#
,退出時,我們稱之爲:
this.Session.Abandon();
this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
this.Response.ClearContent();
// expires the claims
FederatedAuthentication.SessionAuthenticationModule.SignOut();
FederatedAuthentication.SessionAuthenticationModule.CookieHandler.Delete();
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule
Response.Redirect(WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(authModule.Issuer, authModule.Realm, null));
似乎一切都在我們的應用程序的桌面版本工作的偉大。用戶回到STS登錄頁面,URL顯示wlogin1(以及其他許多東西),並允許用戶再次登錄而沒有問題。該網址與首次重定向至STS時的網址完全相同。完美,這就是我想要的。
現在,當使用完全相同的域/控制器/方法的移動設備上,它只使用jQueryMobile和不同的局部視圖,註銷似乎工作,用戶被帶回到STS登錄。然而,這一次URL只顯示了用於註銷的移動actionLink實際調用的域/控制器/方法。當用戶嘗試再次登錄時,登錄始終不成功,因爲此鏈接不適用於sts登錄。
有關如何解決這個問題的想法,或者有什麼問題?如果您需要澄清,請告訴我。謝謝!
似乎還有更多,因爲當我點擊上面在全新瀏覽器中提到的註銷鏈接(不是新選項卡,而是全新的實例)時,我會很好地重定向到STS。也許這與殺死會話有關? – RichieMN 2013-03-16 23:58:15
此外,當在瀏覽器的標籤內登錄時,如果我在我們的受STS保護的網站輸入有效的網址,似乎所有標籤都有權訪問。GMAIL的工作方式與此類似,但對於是否有辦法將驗證安全保護到瀏覽器的特定選項卡與整個瀏覽器,感到好奇?謝謝! – RichieMN 2013-03-17 00:01:02