0

2 つの Web アプリケーションと 1 つの STS サービスがあるとします。 1. ユーザーに権限を付与できる管理ポータル。2. ユーザーがそれらの権限に基づいて操作できる販売ポータル。

ここで、有効期限が 8 時間のセキュリティ トークンをセールス ポータルに提供する STS があるとします。トークンには、特にユーザーの特権に関する情報を含むクレームが含まれています。

ここで、管理ポータルでユーザーの権限が削除され、変更がデータベースに保存されたシナリオを想像してください。ユーザーは、まだ有効期限が切れていないセキュリティ トークンを使用して既にセールス ポータルにログインしているため、セールス ポータルは権限が削除されたことを認識しません。

問題は、このシナリオをどのように処理するかです。ここで確認できる唯一の解決策は、STS を完全に削除することですが、これを処理するためのよりスマートな方法を探しています。

この非同期の問題に対するより良いアプローチはありますか?

4

1 に答える 1

1

Removing the STS is a little bit drastic :-). You have it for a reason (SSO, federation, etc). You have a few options: decrease the expiration time of the token to a reasonable value for the volatility of your changes (8 hours might be excessive), or move the sensitive authorization information (e.g. privileges) to the app so it is checked each time.

You can do "claims enrichment" at the app level (through a custom AuhtenticationManager in WIF) and still use claims model from your app code.

Technically there's no synching between the app and the STS. The Token is a snapshot of user attributes at the time of issuance and valid until it expires.

于 2013-09-10T17:55:47.833 に答える