Tengo un proyecto en el que estoy usando Spring mvc 4 y necesito incluir allí la seguridad de apache shiro. Intenté buscar en la web una solución para mi problema, pero no logré encontrar nada. Aunque hay una guía en el sitio web de Shiro, pero este ejemplo es solo para un proyecto Spring configurado con xml, y mi proyecto no contiene ningún xml, y cuando intento configurar Shiro con anotación solo falla. Cuando ejecuto este proyecto, tengo acceso a todos mis puntos finales, y Shiro no restringe ninguno de ellos. Supongo que mi configuración es incorrecta, pero no puedo averiguar qué parte es incorrecta. No tengo permitido usar Spring boot (sé que hay ejemplos para eso). aquí está mi clase de configuración:
@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; } }¡Gracias de antemano!
Eche un vistazo a la versión 1.4.0 (RC2). Hay soporte actualizado para Spring y Spring-Boot.
Y ejemplos en el árbol de fuentes: https://github.com/apache/shiro/tree/master/samples/spring-mvc