17

現在、ASP .NET 5 MVC 6 で Identity 3 を使用して高度な役割/グループ権限管理を使用するソリューションを探しています。統合された簡単なログイン システムを備えた新しいプレビュー スターター Web プロジェクトを開始しました。

ここで、次の機能を備えた複雑な「ユーザー権限管理」が必要です。

  1. ユーザーは複数のグループ/ロールに所属できます
  2. グループ/ロールには多くのアクセス オブジェクトがあります (CanAccessUser、CanEditUser など)。
  3. 各グループ/ロールのこれらのアクセス オブジェクト (おそらくクレーム?) は、互いに補完し合います
  4. (究極のソリューションのオプション):さらに=>アクセスオブジェクト(おそらくクレーム)は、グループによってユーザーに個別に割り当てることができます

私は、アイデンティティがすでにテーブル構造に適合することを広く見てきました。(例: AspNetUsers、AspNetUserRoles、AspNetRoles、AspNetRoleClaims)、

しかし、それらを使用するための良い例/ドキュメントがありません。

MVC 5 の場合、次の例を使用しました: ユーザーには多くのグループがあり、グループには多くの役割を持たせることができます (役割は、クラス/関数のソース コード内のアクセス オブジェクトです) ASP.NET Identity 2.0: グループベースのアクセス許可管理の実装

これらの要件に対して、車輪を再発明する必要がない実用的な例が既に存在します。

4

3 に答える 3

0

サンプル プロジェクトを探している場合、現時点ではそれほど多くはありません。最初に確認する場所は、aspnet GitHub プロジェクト ページです。

幸いなことに、ASP.NET Identity サブプロジェクトにはサンプル プロジェクトがあり、ここで確認できますが、すべての要件をカバーしているわけではありません。これは最新のベータ版を使用していることに注意してください。

于 2015-10-14T14:54:58.173 に答える
0

このスレッドは、何かを機能させるのに役立ちましたが、これがより適切に文書化されていないのは悲しいことです。

それを改善するための私の試みは次のとおりです。Asp.net.Identity (3.0.0.0-rc1-final)

Startup.cs --> ConfigurationServices で

        //Define your policies here, they are strings associated with claims types, that have claim strings... 
        //they need to be in AspNetUserClaims table, user id, department, Dev to be allowed access to the Dev policy
        //add the auth option, below that makes it work, and in the api controller, add the        
        //[Authorize("Dev")] attribute
        services.AddAuthorization(
            options =>
            {
                options.AddPolicy("Dev", policy => { policy.RequireClaim("department", "Dev"); });
            });
        services.AddMvc();
于 2016-01-11T01:14:35.113 に答える