Spring Security使用@PreAuthorize("hasRole('ROLE_ADMIN')"报错

问题遇到的现象和发生背景

给添加用户接口加了一个限制访问的注解,直接报错了

问题相关代码,请勿粘贴截图

img

运行结果及报错内容

img

报错信息翻译过来是:在security上下文中没有找到一个认证对象。导致出现这个问题的原因有很多,你可以先排查一下你的配置文件,有没有写类似于不拦截所有静态文件的代码,如果写了不拦截所有静态文件的代码就会出现这样的错误(一边允许所有文件不拦截,一边controller中添加了需要认证的注解,就产生了冲突)。