我正在使用AuthorizeAttribute来检查用户在我的控制器上执行操作的能力。我希望能够将某些用户会话添加到“黑名单”,以便AuthorizeAttribute将来拒绝他们的请求。除了使用数据库层之外,还有可能做到这一点吗?
答案 0 :(得分:0)
您可以创建一个覆盖blacklist
的自定义AuthorizeCore
类:
public class BlackListAttribute : AuthorizeAttribute
{
public string BlackListedUsers { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (_blackListedUsers.Contains(user))
{
return false;
}
}
}
然后在你的控制器上:
[BlackList(BlackListedUsers="name, name2, name3")]
public ActionResult YourActionMethod()
{
return View();
}