在过滤器中使用Apache Shiro SecurityUtils

时间:2016-11-03 13:42:14

标签: spring-boot servlet-filters shiro

我在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.

我需要做什么才能让我的过滤器能够检索当前用户?

1 个答案:

答案 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过滤器(我猜你已经有了)

看看上面的例子。