Closed AlexGeller closed 2 years ago
授权Attribute有两个类:
SiteApiControllerBase
中的[ApiAuthorize]更换为[SiteAuthorize]明白,5.0.4的版本使用ApiAuthorizeAttribute对SiteApiControllerBase进行授权验证,将直接导致OSharp.Hosting.Apis项目无法用于站点授权,该项目下所有的Controller所生成的API都无法在站点中使用。
只能下载OSharp.Hosting.Apis项目,将SiteApiControllerBase里的ApiAuthorizeAttribute授权换成SiteAuthorizeAttribute,然后重新编译才能使用。
描述一下BUG
3.0.2框架使用AuthorizeAttribute对SiteApiControllerBase进行授权验证,该特性支持以cookie和token授权验证,但是升级到5.0.4后,使用ApiAuthorizeAttribute对SiteApiControllerBase进行授权验证,该特性只支持使用bearer token进行授权验证,导致单站点网站使用/api/identity/login接口登录后,使用cookie进行登录失败,所有继承自SiteApiControllerBase类实现的API都无法访问,出现401 Unauthorized。
重现步骤
使用osharp-layui项目升级到5.0.4框架后,可以重现该问题。
附加上下文,如截图