我在Spring Boot Web应用程序中使用Filter将我的所有用户请求记录到数据库中。我想记录的一件事是用户名,但当我尝试使用当前用户时:
SecurityUtils.getSubject().getPrincipal()
我收到以下错误:
No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration.
我需要做什么才能让我的过滤器能够检索当前用户?
答案 0 :(得分:2)
您需要为过滤器映射定义至少一个网址: https://github.com/apache/shiro/blob/1.4.x/samples/spring-boot-web/src/main/java/org/apache/shiro/examples/WebApp.java#L96-L101
当然配置了Shiro servlet过滤器(我猜你已经有了)
看看上面的例子。