我正在扩展AuthorizeAttribute以创建我自己的自定义AuthorizeUser过滤器。我重写:
AuthorizeCore(HttpContextBase httpContext)
方法,手动执行我的数据库检查并返回正确的布尔值。这工作正常,但我正在研究原理和身份的例子,我在做什么事情时非常困惑,
[Authorize(Roles = "admin")]
不覆盖AuthorizeCore方法,实际发生了什么。
在幕后,它在哪里获取用户当前要比较的角色列表?怎么分配?我看到AuthorizeAttribute有一个Roles成员,但这就是我被困住的地方,理解它将传入的值与之比较。
此外,覆盖AuthorizeCore,抓取用户角色,并自行比较它们是否存在安全隐患?