我想建立一个注册系统,在添加用户时,您可以选择可以赋予他/她的角色类型。并且根据他/她的角色,将决定是否可以访问控制器中的某些操作。
例如,假设有两个角色,管理员和开发人员。并且像下面提到的那样只允许具有管理员角色的用户访问以下操作。
[Authorize(Roles = "admin"]
public ActionResult CreateUser()
{
return View();
}
据我所知,我必须实现我的自定义RoleProvider
或IPrincipal
?我试图找到一些例子,但并没有完全得到我正在寻找的东西。这是我的 RegisterModel 目前的样子
public class RegisterModel
{
[Key]
public Guid Id;
[Required]
[Display(Name="First Name")]
public string FirstName {get; set;}
[Required]
[Display(Name="Last Name")]
public string LastName {get; set;}
[Required]
[Display(Name="Email Id")]
[DataType(DataType.EmailAddress)]
public string EmailId {get; set;}
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[Display(Name = "Password")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
[Display(Name = "Confirm Password")]
[DataType(DataType.Password)]
public string ConfirmPassword { get; set; }
[Required]
[Display(Name = "Role")]
public UserRole Role { get; set; }
}
public class UserRole
{
[Key]
public int RoleId { get; set; }
public string RoleName { get; set; }
}
事情是我希望在添加用户并使用自定义授权属性时确定角色。任何人都知道可以解决我的问题的文章或博客?或者有什么建议,怎么做?