Asp.Net MVC C# [授权(角色“”)] 不起作用
本文关键字:不起作用 角色 MVC Net 授权 Asp | 更新日期: 2023-09-27 18:31:14
我正在尝试使用我的自定义管理器进行基于角色的授权。我有用户表和角色表。模型看起来像这样
public class Account : EntityModel
{
public string Username { get; set; }
public string PasswordHash { get; set; }
public string Email { get; set; }
public Account()
: base("1", Suid.NewSuid())
{
Roles = new List<String>();
}
public static IEnumerable<Account> GetAll()
{
return TableHelper.GetAll<Account>();
}
public List<String> Roles { get; set; }
public Account Save()
{
TableHelper.Save<Account>(this);
return this;
}
}
角色模型看起来像这样
public class Role : EntityModel
{
public string Name { get; set; }
public String Id
{
get
{
return this.RowKey;
}
set
{
this.RowKey = value;
}
}
public Role()
: base("1", Suid.NewSuid())
{
}
public static IEnumerable<Role> GetAll()
{
return TableHelper.GetAll<Role>();
}
public static Role Get(string x)
{
return TableHelper.Get<Role>("1", x);
}
}
我可以User.Roles
列表中添加角色 ID。因此,我创建了一个名为 admin
的角色,并将其添加到用户列表中。它已成功添加。
然后我在我的一个控制器上尝试这个
[Authorize(Roles = "admin")]
但它不起作用。我错过了什么吗?
您是否添加了角色提供程序以及其工作所需的其余部分?
有一个类似的问题,它有一个很好的入门方法:创建一个授权属性 - 我需要知道什么?