【发布时间】:2014-01-26 22:25:59
【问题描述】:
我有一个受[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");
}
根据数据库,用户是这个角色。为什么这不起作用?我是否缺少配置或某种配置?
【问题讨论】:
-
您确定该用户是客户角色吗?
-
是的,客户来自我使用的常量
-
我的意思是,当您转到项目 -> ASP.NET 配置时,转到安全选项卡,然后单击创建/管理角色。检查您的角色。然后转到用户并检查您的用户。请务必查看 Microsoft 音乐演示的第 7 部分asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7
-
那是旧的会员资格 - 我正在使用 ASP.NET 身份?
-
对不起,你是对的。请看我的回答(我是关于写的)。
标签: c# asp.net-mvc asp.net-identity asp.net-roles