创建自定义AuthorizeAttribute时,base.IsAuthorized总是返回false的原因可能有以下几种:
- 未正确重写IsAuthorized方法:在自定义AuthorizeAttribute中,需要重写IsAuthorized方法来实现自定义的授权逻辑。如果未正确重写该方法,那么base.IsAuthorized将会返回false。确保在重写IsAuthorized方法时,根据自己的授权需求进行逻辑编写。
- 未正确配置授权策略:在使用自定义AuthorizeAttribute时,需要在应用程序的配置文件或Startup类中正确配置授权策略。如果授权策略配置不正确,那么base.IsAuthorized也会返回false。确保在配置授权策略时,将自定义AuthorizeAttribute与相应的授权策略进行关联。
- 未正确设置控制器或动作方法的授权属性:在使用自定义AuthorizeAttribute时,需要将其应用到控制器或动作方法上,以触发授权逻辑。如果未正确设置控制器或动作方法的授权属性,那么base.IsAuthorized同样会返回false。确保在需要进行授权的控制器或动作方法上,添加正确的授权属性。
总结起来,创建自定义AuthorizeAttribute时base.IsAuthorized总是返回false的原因通常是由于未正确重写IsAuthorized方法、未正确配置授权策略或未正确设置控制器或动作方法的授权属性。请检查以上几个方面,确保正确实现自定义的授权逻辑。