我有一个ASP.NET MVC 4 Web应用程序" APP1"其中使用DB First方法实现了Entity Framework。我使用自动生成的Account
- model
, - views
和 - controller
进行身份验证。
到目前为止,一切似乎都很好。我可以添加新用户并登录。 我现在的问题是:如何向用户添加角色?我基本上只需要1个角色。
其他信息
我做了两次小修改:
以下表格是在我的EF SQL Server数据库
中自动生成的更新
我最终手动创建了它们。请参阅下面的TSQL代码
INSERT INTO webpages_Roles (RoleName) VALUES ('canEdit')
INSERT INTO webpages_UsersInRoles (UserId, RoleId) VALUES (2, 1)
要使ActionResult
仅适用于具有特定角色的授权人员,我将其装饰如下:
[Authorize(Roles = "canEdit")]
public ActionResult Index()
{
// return View();
}
答案 0 :(得分:4)
对于Identity v1,代码为:
var username = "Fred";
var roleName = "Administrator";
Roles.AddUserToRole(username, roleName);
如果您使用的是Identity v2(假设您拥有userManager对象):
var username = "Fred";
var roleName = "Administrator";
var user = await userManager.FindByNameAsync(username);
userManager.AddToRole(user.Id, roleName);