2017-10-04 3 views
0

ユーザーがコントローラーにアクセスできるようにするには、特定の役割を果たす必要があります。特定のユーザー。Asp.Net MVC Authorize - ユーザーが特定の役割または特定のユーザーでなければならないようにコントローラーを設定する

私はこのような何か試してみました:指定したようにAND論理複数の属性の結果を追加

[Authorize(Roles = "xxxx\\xx Team")] 
[Authorize(Users = "xxx\\xxx")] 
public class TestController : Controller 

おかげ

答えて

0

を。

[Authorize(Roles = "xxxx\\xx Team", Users = "xxx\\xxx")] 
public class TestController : Controller 

がUPDATE:使用するためOR論理では、あなたは、単一のAuthorize属性を使用することができますsourceを見てみると、コードが明確にUsersが提供される場合、マッチが行われなければならないことを示しています - 同じことがRolesにも適用されるため、どちらの場合もANDです。関連するコードは次のとおりです。

if (_usersSplit.Length > 0 && !_usersSplit.Contains(user.Identity.Name, StringComparer.OrdinalIgnoreCase)) 
{ 
    return false; 
} 

if (_rolesSplit.Length > 0 && !_rolesSplit.Any(user.IsInRole)) 
{ 
    return false; 
} 
+0

これも試しても機能しません。おかげで – ELang

+1

あなたは1つを残す場合、どちらか他の作品はありますか? – mxmissile

+0

これをテストする方法は、私は役割にありますが、ユーザーにはありません。私はユーザーを削除する場合。できます。ユーザーを私に変更すると、それは機能します。ユーザーを他のユーザーに変更すると、そのユーザーは機能しません。 – ELang

関連する問題