一、该问题的重现步骤是什么?
看到最新版的system服务,使用到了
@PreAuth(AuthConstant.PERMIT_ALL)
实际测试,这个接口需要token(TokenInterceptor 拦截了,报错 签名认证失败),依然需要身份认证,只是不需要权限认证。
但在我看来,security的permitAll 就应该是接口放行,相当于skip-url,不然这个permitAll 与 hasAuth 是等价的。
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX 4.8.0.RELEASE
四、请提供详细的错误堆栈信息,这很重要。
签名认证失败
五、若有更多详细信息,请在下面提供。
目前的设计仅针对于权限认证放行,token认证(skip-url)不会放行
这样的话,permitAll 与 hasAuth 没区别了
那还是有点不一样的,permitAll他不是最顶层的,而是在PreAuth里的一个方法名,是进行权限认证(不是token的身份认证)时候执行的逻辑,他代表身份认证成功后,权限认证就不需要再处理了,而hasAuth也是一个PreAuth的方法名,他还是需要进行权限认证的判断。
后续我们加一个类似security可以直接避开所有身份权限认证的注解,这样不需要去走配置文件了。
是的,需要一个可以支持匿名访问的权限注解。