Asp.net Identity MVC 5 でのロールの作成
新しいAsp.net Identity Security Frameworkの使用に関するドキュメントはほとんどありません。
新しいロールを作成し、そこにユーザーを追加するために、できる限りのことをしてみました。 試したのは次のとおりです。https://stackoverflow.com/questions/19541101/add-role-in-asp-net-identity
これは、このブログから情報を得ているようです。Building a simple to-do application with asp.net identity and associating users with to-does.
モデルが変更されるたびに実行されるデータベースイニシャライザにコードを追加しました。しかし、RoleExists
関数で次のようなエラーが出て失敗します。
System.InvalidOperationException
occurred in mscorlib.dll エンティティタイプのIdentityRoleは、現在のコンテキストのモデルの一部ではありません。
protected override void Seed (MyContext context)
{
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
// Create Admin Role
string roleName = "Admins";
IdentityResult roleResult;
// Check to see if Role Exists, if not create it
if (!RoleManager.RoleExists(roleName))
{
roleResult = RoleManager.Create(new IdentityRole(roleName));
}
}
ご協力お願いします。
82
3
いよいよです。
MyContext`クラスのシグネチャが以下のようになっていることを確認してください。
public class MyContext : IdentityDbContext
または
公開クラス MyContext : IdentityDbContext`.
このコードは私にとって、何の修正もなく動作しています!!!
上記のPetersのコードを改良して、以下のように使用できます。