对于网络MVC,我至少需要两个配置:dispatcher-servlet.xml
和applicationContext.xml
。我使用以下过滤器来确保安全性:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此过滤器需要springSecurityFilterChain
applicationContext.xml
中定义的<security:http />
但是,我想在@Secured
中使用@Controller
使用dispatcher-servlet.xml
注释。同样,这需要<security:http />
- 在另一个上下文文件中!
我想要实现的只是@Controller
级别的安全性。我根本不关心保护更深层(@Service
等),因为这是唯一的切入点。
我的出路是什么?我做错了什么?
答案 0 :(得分:3)
要为控制器启用安全注释,您只需将<security:global-method-security ... />
添加到dispatcher-servlet.xml
即可。其他与安全相关的内容保留在applicationContext.xml
。