【发布时间】: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;
}
}
提前谢谢!
【问题讨论】:
标签: java spring spring-mvc shiro