私は、ユーザー情報に Active Directory を使用し、認証と SSO に ADFS を使用し、すべて ASP.NET MVC で構築されたいくつかのカスタム アプリケーションを使用するプロジェクトに取り組んでいます。
承認モデルは、クレームおよびロール ベースです。つまり、ユーザーのロールは、ADFS によって (WIF を使用して) 発行されたトークンを介して、関連するアプリケーションへのクレームとしてアクセスできます。
各役割には、アプリケーションのさまざまなリソースに対する許可のリストが定義されています (つまり、管理者の役割は、リソース X に対する WRITE 許可を持っています)。いくつかのハードコーディングされたアクセス許可でうまく機能する基本的な承認モデルがあります。
私の質問は、さまざまな役割の実際のアクセス許可を保存するための最良の方法/場所は何ですか? これは ADFS 内で実行できますか、それとも別のストアが必要ですか (私は後者だと思います)? アクセス許可は XACML と同じ大まかなパターン (user/role:resource:action) に従っており、XACML ソリューションはおそらく簡単に組み込むことができますが、XACML の最も一般的な .NET 実装 (XACML.NET) は XML を唯一のアクセスとして使用しているようです。実行可能ではないストレージメカニズム (アクセス許可を保存するための多くのリソースがあります - 潜在的に数千)。
人々はこれに何を使用しますか?最も明白な解決策は、トリプレットを SQL Server に格納することのようですが、(特に ADFS と WIF を使用した) 認証のためのすべての既製のソリューションを考慮すると、承認とアクセス許可を実際に実装するための (明白な) 情報がほとんどないことは奇妙に思えます。私がオンラインで見つけたすべての例は、権限レベルで物事を説明するには不十分です。