2014-05-13 38 views
0

如何處理WIF中陳舊的索賠?如何處理WIF中陳舊的索賠?

這裏的設置:

  1. 我有一個WIF STS,對許多不同的MVC的Web應用程序提供身份驗證。 STS還提供索賠,如特權,電子郵件等

  2. 我有一個MVC應用程序,我們將調用MyApp,使用STS進行身份驗證並使用提供的聲明。

  3. 我有一個MVC應用程序,我們將調用MyManager,允許管理員更改任何用戶的聲明,例如與用戶關聯的權限。

這裏的問題:

  1. 用戶 「MisterUser」 登錄到MyApp的,並得到包含他的說法的FedAuth餅乾 - 包括定製的 「MyAppUser」(特權)要求。 MyApp檢查此聲明以驗證用戶可以在MyApp上發出請求。

  2. 與MisterUser的會話同時,「Admin」登錄到MyManager並從MisterUser中刪除MyAppUser聲明。

  3. MisterUser仍然可以繼續使用MyApp,直到他的會話過期爲止,因爲FedAuth cookie已經被寫入並且適用於該會話。

顯然我想在這裏發生的是在管理員刪除他的MyAppUser(特權)聲明後立即關閉MisterUser的訪問權限。我能完成這項任務的最佳方式是什麼?

這是完全可能的這是一個簡單的解決方案的常見問題,但我一直未能發現任何真正的洞察時間搜索。

任何幫助,非常感謝!

+0

如果使用ADFS,則可以嘗試使用註銷請求,請參閱此[SOlink](http://stackoverflow.com/questions/8228746/wif-federatedsignout-not-signing-user-out-所有網站) – ManyRootsofAllEvil

回答

0

如您所述,聲明對會話有效。它們不是動態的,並且(如果你考慮它)實施某種STS動態更新將是一場噩夢。

索賠在您登錄時更新,所以處理此索賠的唯一方法是註銷,然後在「引擎蓋下」登錄,以便用戶不知道這一點。

我問了一個類似的問題 - 請參閱:Updating claims with ADFS and WIF並在那裏找到答案。

+0

感謝您的快速響應!這裏的關鍵是知道什麼時候註銷並在引擎蓋下登錄,這確實是一個噩夢實施,因爲你說。我想這些索賠的會話壽命必須是可以接受的風險。 –

相關問題