저는 Spring MVC 4를 사용하고 있으며 apache shiro 보안을 포함해야하는 프로젝트가 있습니다. 나는 웹에서 내 문제의 해결책을 찾으려고 노력했지만 무언가를 얻을 수는 없었다. Shiro의 웹 사이트에는 가이드가 있지만이 예제는 xml 구성된 Spring 프로젝트에만 해당되며 내 프로젝트에는 xml이 전혀 포함되어 있지 않으며 Shiro를 주석으로 구성하려고 할 때만 실패합니다. 내가이 프로젝트를 실행할 때 내 모든 엔드 포인트에 액세스 할 수 있으며 그 중 일부는 시로가 제한하지 않습니다. 내 구성이 잘못되었다고 생각하지만 잘못된 부분을 파악할 수 없습니다. 스프링 부트를 사용할 권한이 없습니다. (예를 들어 있습니다.) 사전에Spring MVC non xml 프로젝트와 함께 Apache Shiro 사용
@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;
}
}
들으 : 여기 내 구성 클래스입니다!