我有一个受[Authorize]
属性保护的控制器。
这很好用(如果我没有登录,我会被送回登录),但我希望为这个属性添加一些角色,我已经读过它可以做类似的事情[Authorize(Roles = "Customer"]
但是当我这样做时,我会立即被发送回到我的应用程序的登录页面?
此Roles
覆盖是否不适用于新的 ASP.NET 标识?在我的用户创建中,我通过以下代码将用户添加到:
var user = new ApplicationUser {UserName = model.Username};
var result = UserManager.Create(user, model.Password);
if (result.Succeeded)
{
UserManager.AddToRole(user.Id, "Customer");
SignIn(user, false);
return RedirectToAction("Done");
}
并且根据数据库,用户处于此角色。为什么这不起作用?我是否缺少配置或某种形式?