ユーザーを追加するときに、ユーザーに付与できる役割のタイプを選択できる登録システムを構築したいと考えています。また、役割に応じて、コントローラーの特定のアクションにアクセスできるかどうかが決定されます。
たとえば、admin と developer という 2 つのロールがあるとします。また、以下のようなものを使用すると、管理者としての役割を持つユーザーのみが次のアクションにアクセスできます。
[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; }
}
ユーザーを追加するときにロールを決定し、Custom Authorize 属性を使用したいのです。私の問題を解決できる記事やブログはありますか? または任意の提案、それを行う方法?