我在我的项目中使用ASP.NET Idenetity。
我的用户表包含一列“IsAdmin”,用于标识用户是否为管理员。
在下面的代码中
[Authorize(Roles = "Admin")]
public ActionResult Index()
{
}
我想从表Users.IsAdmin = true授权用户作为管理员。不是来自UserRoles表。
请建议怎么做?
答案 0 :(得分:1)
我看到3个选项:
为ASP.net身份实现IUserRoleStore - 它允许您覆盖IsInRole方法
验证时是否IsAdmin = true
检查并向此用户添加管理员角色(因此您可以使用默认的授权属性)。
编写一个包含所有必需授权逻辑的自定义Authorization属性。