首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么创建自定义AuthorizeAttribute时base.IsAuthorized总是返回false?

创建自定义AuthorizeAttribute时,base.IsAuthorized总是返回false的原因可能有以下几种:

  1. 未正确重写IsAuthorized方法:在自定义AuthorizeAttribute中,需要重写IsAuthorized方法来实现自定义的授权逻辑。如果未正确重写该方法,那么base.IsAuthorized将会返回false。确保在重写IsAuthorized方法时,根据自己的授权需求进行逻辑编写。
  2. 未正确配置授权策略:在使用自定义AuthorizeAttribute时,需要在应用程序的配置文件或Startup类中正确配置授权策略。如果授权策略配置不正确,那么base.IsAuthorized也会返回false。确保在配置授权策略时,将自定义AuthorizeAttribute与相应的授权策略进行关联。
  3. 未正确设置控制器或动作方法的授权属性:在使用自定义AuthorizeAttribute时,需要将其应用到控制器或动作方法上,以触发授权逻辑。如果未正确设置控制器或动作方法的授权属性,那么base.IsAuthorized同样会返回false。确保在需要进行授权的控制器或动作方法上,添加正确的授权属性。

总结起来,创建自定义AuthorizeAttribute时base.IsAuthorized总是返回false的原因通常是由于未正确重写IsAuthorized方法、未正确配置授权策略或未正确设置控制器或动作方法的授权属性。请检查以上几个方面,确保正确实现自定义的授权逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权

    ASP.NET应用并没有对如何定义授权策略做硬性规定,所以我们完全根据用户具有的任意特性(如性别、年龄、学历、所在地区、宗教信仰、政治面貌等)来判断其是否具有获取目标资源或者执行目标操作的权限,但是针对角色的授权策略依然是最常用的。角色(或者用户组)实际上就是对一组权限集的描述,将一个用户添加到某个角色之中就是为了将对应的权限赋予该用户。在《使用最简洁的代码实现登录、认证和注销》中,我们提供了一个用来演示登录、认证和注销的程序,现在我们在此基础上添加基于“角色授权的部分”。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)

    03
    领券