我的問題歸結爲,當我在應用程序之間切換時,是否可以刷新用戶的聲明?從我可以說的答案很可能是「不」。我已經完成了添加「claimTypeRequired」的舞蹈,但這沒有幫助。Windows身份基礎來自AD FS的所需聲明
假設我有多個應用程序,App1,App2,App3,App4,App5。
看來AD FS在您通過任何應用程序進行身份驗證後不會再次受到攻擊,並且在簽出時沒有辦法,是嗎?所以有了這個想法,我必須得到所有應用程序的所有聲明,而不管我登錄哪個應用程序。作爲一個附註,我通過AD FS的SQL存儲過程創建這些聲明。 usp_GetAppClaims @AppID = 1, @UserGuid = 'GUID'
我爲每個應用程序在各自的URI中存儲了一組聲明,其中包含多個值。類似於「角色」聲明。例如:
- http://schemas.MyCompany.com/identity/claims/App1
- 值1
- 值2 - http://schemas.MyCompany.com/identity/claims/App2
- 值1
- 值2
- 值3 - http://schemas.MyCompany.com/identity/claims/App3
- http://schemas.MyCompany.com/identity/claims/App4
- http://schemas.MyCompany.com/identity/claims/App5
我是不是做得比想要的要困難?如果我需要索取所有索賠,我對令牌尺寸略有擔心。 20個應用程序,每個都有10-50個聲明... 4kb Cookie最大權限?也許這與大多數情況無關。
隨着我不斷研究這一點,ClaimsAuthenticationManager可能最終成爲最佳選擇。你得到的任何機會或許可以解釋你的第一點? – MisterIsaak 2014-10-06 12:41:33
如果ADFS服務器是IdP(該帳戶在AD中),那麼您可以在接受轉換規則中查詢您的SQL。然後,所有RP的索賠將在那裏(大標記問題等)。如果您僅在(每RP)發行轉換規則中執行此操作,則每個RP都有自己的一組索賠。 (在ADFS的小餅乾,在RP的小餅乾) – paullem 2014-10-06 18:34:57
啊,好了,現在我明白你在說什麼了。感謝您的解釋。 – MisterIsaak 2014-10-06 21:36:37