こんにちは、みんな
ASP.NET Identity 2.0 を使用しているプロジェクトがあります。このプロジェクトでは、Onion アーキテクチャに従っています。レイヤーは次のとおりです。
1.UI: Owin または ASP.Net Identity への参照なし
2.AuthenticationService: asp.net ID usermanager のラッパーが含まれています。このラッパーは、Bal レイヤーに存在するインターフェイスを実装します。このレイヤーには、カスタム UserStore も含まれています。
3.Dal: DbContext はここに存在します。
4.Bal: Domaine エンティティとインターフェイスを含みます。Owin や ASP.NET ID などへの参照はありません。
5.DependencyResolver: Owin Startup に加えて、いくつかの Ninject モジュールと NinjectWebCommon.So am Using Ninject.
今まではすべて順調です。ユーザーはアカウントの作成に満足しており、いつでもログイン/ログアウト/管理できます。現在直面している問題は、Authorize(Role="rolename") にあります。機能しません。
[Authorize(Users="pedro")]
[Authorize]
この作品はどちらも
[Authorize(Roles="Admin")]
これは1つです。
私のデータベースには、ロール管理者に属するユーザーがいます。なぜこれが機能しないのかわかりません.mybeは、すべての認証を別のレイヤーに移動したため、IPrincipal.IsInRole(文字列ロール)が方法を理解できないためですもうこれを確認します。
カスタム Authorize 属性の作成に取り組んでいるか、いくつかの拡張機能を作成しています。しかし、私は最初にあなたのアドバイスを求めることにしました.
お時間をいただきありがとうございます