@Secured在Spring控制器和上下文混乱

时间:2011-07-13 11:13:18

标签: spring spring-mvc spring-security

对于网络MVC,我至少需要两个配置:dispatcher-servlet.xmlapplicationContext.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等),因为这是唯一的切入点。

我的出路是什么?我做错了什么?

1 个答案:

答案 0 :(得分:3)

要为控制器启用安全注释,您只需将<security:global-method-security ... />添加到dispatcher-servlet.xml即可。其他与安全相关的内容保留在applicationContext.xml