【发布时间】:2016-06-06 05:55:38
【问题描述】:
在我解释这个问题之前,我应该说我们只需要 Apache Shiro 来进行授权,并且 OAuth2 已经启用了身份验证。
所以我启用 Shiro 的代码与 link here 中的代码完全相同。 我也检查了这个issue。但是对我来说,如果我启用 LifecycleBeanPostProcessor 几乎大多数 bean 都会为空。正如第二个链接中所建议的那样,我在配置类中创建了静态方法,但没有运气。
所以我的问题是,有没有办法只启用授权而不注册 shiro 过滤器?如果没有,如何解决这个问题?因为看起来 ShiroFilterFactoryBean 需要 LifecycleBeanPostProcessor 并且会破坏整个应用程序。
我们正在使用最新版本的 Spring Boot 和 Shiro 1.2.4
【问题讨论】:
-
如果没有过滤器,您将不得不自己完成所有操作 - 您可以查看
LifecycleBeanPostProcessor和过滤器的源代码以了解您需要实现什么。如果它只是您需要的授权,它可能不是那么糟糕。 -
嗯.. 我检查了代码,所以它看起来像是 AuthorizingRealm 并且我创建了自己的 AuthorizingRealm 以避免身份验证,但问题是启用后的生命周期处理器会破坏 Spring,我得到 NPE。看起来它与 Spring boot 不兼容...我仍在尝试调试这里的所有东西
-
我使用 shiro 并使用生命周期处理器进行引导。什么是堆栈跟踪?
-
Shiro 甚至 Spring 都没有错误...问题是在启动时我在使用 @ConfigurationProperties 注释的类上得到 NPE。他们都是空的
-
您使用的是 Gradle 还是 Maven?您是否添加了使用 ConfigurationProperties (org.springframework.build.gradle:propdeps-plugin:0.0.7) 所需的额外插件?
标签: spring-boot authorization shiro