私の人生の中で、MVC 5アプリケーションに役割を追加する方法を理解できません。これは持っているIDと名前(「管理者」、「ユーザー」、等...) AspNetUsers
を、持っている4.ASP.NETでの役割の使用MVC 5 Identity 2.0
テーブルは箱の外にあるMVCでこのような風、 AspNetRoles
、でしたIdおよびその他のユーザーフィールド AspNetUserRoles
- このテーブルには、上記のテーブルにマッピングされているUserIdとRoleIdがあります。
ログインしているユーザーが「管理者」の役割または「ユーザー」の役割を持っているかどうかを確認できます。
if (User.IsInRole("Admin"))
{
//do something
}
値は常にfalse戻ってくる:ここ
は、私がしようとしているものです。
私も試してみました:
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var userRole = UserManager.GetRoles(user.GetUserId());
if (userRole[0] == "Admin")
{
// do something
}
これは、エラーがスローされます。
「インデックスが範囲外でした負でないコレクションのサイズ 未満でなければなりません。」
現在ログインしているユーザーの役割を取得する簡単な方法はありますか?私はRole Managerを使用することに言及していますが、私はそれを動作させることができませんでした。私は感謝
ユーザーがログインしていますか?私は、UserManagerを使用して以下の項目をチェックします:http://stackoverflow.com/questions/23049813/asp-net-identity-2-0-check-if-current-user-is-in-role-isinrole –