私は自分のオフィスで最初のプロジェクトに取り組んでおり、クレームベースの承認で "Windows Identity Foundation" を使用する予定です。この目的のために、Microsoft .net は ClaimsAuthorizationManager 抽象クラスを提供します。このクラスを使用するには、コンストラクターとCheckAccess(context as ClaimsAuthorizationContext)
.
コンストラクターはすべてをセットアップします。次に、ユーザーが Web ページなどの何かにアクセスすると、CheckAccess
ユーザー、アクセスするリソース、およびリソースに対して実行するアクションを示すパラメーターを使用して呼び出されます。たとえば、アクションを実行するためにリソースへのアクセス権をCheckAccess
ユーザーに付与する必要があるかどうかを確認するために呼び出すことができます。 またはを返すだけです。Windows Identity Foundation は、考えられるほぼすべての方法を柔軟に実装できるようにします。Bob
http://www.mysite.com/SecretPage.aspx
GET
CheckAccess
true
false
CheckAccess
Microsoft が提供するコード サンプルではCheckAccess
、ユーザーが 21 歳以上であることを示す誕生日クレームを持っている場合にのみアクセスを許可するように構成されています。このポリシーは、web.config でプレーンテキストで指定され、ClaimsAuthorizationManager
コンストラクターで読み取られます。
私のオフィスでは、SQL を使用してほぼすべてのデータを追跡しています。ClaimsAuthorizationManager
ユーザーがリソースにアクセスできるかどうかを判断するために、SQL からデータを読み取るように をプログラムすることは理にかなっていると思います。ただし、考えられるポリシーは無数にあります。ClaimsAuthorizationManager
現在のプロジェクトに役立ち、現在作成しているプロジェクトをリッピングして置き換えることなく、将来的に構築および改善できるを作成したいと考えています。
このプロジェクトを進めていく上で、最も重要なことは何ですか?
更新: 私は、必須請求ポリシーを文字列として表すシステムに取り組んできました。ポリシーをグループ化するために二分木ロジックを使用しています。「リソース」と「アクション」に関連するクレームのデータベースを維持しています。
ここで他の誰かが ClaimsAuthorizationManager クラスを作成しましたか?