-2
與VS 2015我創建了一個有默認驗證的東西的小MVC應用程序。 我改變什麼,但代碼在賬戶控制器的登記行爲:ASP.Net UserManager AddRoleTo不工作
var context = new ApplicationDbContext();
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
if (!roleManager.RoleExists("Administrator"))
{
roleManager.Create(new IdentityRole("Administrator"));
}
if (!roleManager.RoleExists("User"))
{
roleManager.Create(new IdentityRole("User"));
}
if (context.Users.Count() == 1)
{
userManager.AddToRole(user.Id, "Administrator");
} else
{
try
{
userManager.AddToRole(user.Id, "User");
}
catch (Exception ex)
{
throw new Exception("Error assigning role: " + ex.Message);
}
}
第位訪問者成爲「管理員」。雖然「userManager.AddToRole(user.Id,」User「);」不會拋出異常沒有以下注冊用戶分配給該角色(檢查表,並根據授權(角色...)。 我不知道這裏有什麼問題。