2016-12-16 6 views
1

私は2つの.netコアWebApiコントローラ、AdminControllerとUserController(1つのプロジェクトで)。両方のコントローラにアクセスできますが、単純なユーザはAdminコントローラにアクセスできず、単純なユーザコントローラのみにアクセスできるように、両方をIdentityServer4の2つのスコープとして設定するにはどうすればいいですか?私のクライアントはAngular 2タイプです。ロールベースの認証も表示される例はありますか? ありがとう、マーベリックIdentityServer4のWebApiコントローラに対するロールベースの認可?

答えて

1

おそらくあなたの質問に対する決定的な答えではありません(2つの範囲を含んでいないので)。

ImはTokenValidation middlewareを使用して、あなたのを想定して、あなたのAPIは、ユーザーが(すなわち。ユーザー、管理者)がどのような役割を示す役割の主張を、持つことができIdentityServerAuthentication

を使用して設定されています。 [Authorize(Roles="admin")]属性を使用してadmin apiのロールをチェックし、ユーザーapiの場合は[Authorize]を使用して、ユーザーがログインしていることを確認したり、両方のロールをカンマ区切りリスト([Authorize(Roles="admin,user")])必要に応じて。

すなわち:ここ

[Authorize(Roles="Admin")] 
public class AdminController : ApiController 
{ 

は、.NETのコアのための承認属性上のドキュメントへのリンクです:

https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles

関連する問題