将 apache Shiro 与 Spring MVC 非 xml 项目一起使用
Posted
技术标签:
【中文标题】将 apache Shiro 与 Spring MVC 非 xml 项目一起使用【英文标题】:Using apache Shiro with Spring MVC non xml project 【发布时间】:2017-08-16 00:56:16 【问题描述】:我有一个使用 Spring mvc 4 的项目,我需要在其中包含 apache shiro 安全性。我试图在网上搜索我的问题的解决方案,但没有设法找到一些东西。虽然 Shiro 的网站上有一个指南,但是这个示例仅适用于 xml 配置的 Spring 项目,我的项目根本不包含任何 xml,当我尝试使用注释配置 Shiro 时,它会失败。 当我运行这个项目时,我可以访问我的所有端点,并且它们都不受 Shiro 的限制。 我想我的配置是错误的,但我无法弄清楚它的哪一部分是错误的。 我不允许使用 Spring Boot(我知道有这方面的例子)。 这是我的配置类:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.myproject.menu")
public class AppConfiguration extends WebMvcConfigurerAdapter
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
registry.addResourceHandler("/**").addResourceLocations("/");
@Bean(name="shiroFilter")
public ShiroFilterFactoryBean shiroFilter ()
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setLoginUrl("/MenuTest/login");
shiroFilter.setFilterChainDefinitions("/MenuTest/init=anon");
shiroFilter.setFilterChainDefinitions("/MenuTest/**=authc");
shiroFilter.setSecurityManager(realm());
return shiroFilter;
private DefaultWebSecurityManager realm()
DefaultWebSecurityManager realm = new DefaultWebSecurityManager();
return realm;
提前谢谢!
【问题讨论】:
【参考方案1】:查看 1.4.0 (RC2) 版本。更新了 Spring 和 Spring-Boot 支持。
以及源代码树中的示例: https://github.com/apache/shiro/tree/master/samples/spring-mvc
【讨论】:
以上是关于将 apache Shiro 与 Spring MVC 非 xml 项目一起使用的主要内容,如果未能解决你的问题,请参考以下文章
将 Struts 2 与 Apache Shiro 集成时如何显示结果页面
spring security与apache shiro 权限控制安全框架,那个更实用
Apache shiro的简单介绍与使用(与spring整合使用)
web应用安全框架选型:Spring Security与Apache Shiro
与 Spring Security/Apache Shiro 相比,JAAS 的缺点是啥?
Apache Shiro 与 Spring MVC AuthorizingRealm @Autowired java.lang.NullPointerException