@安全的Spring控制器和上下文混乱
对于WebMVC,我至少需要两种配置:@安全的Spring控制器和上下文混乱,spring,spring-mvc,spring-security,Spring,Spring Mvc,Spring Security,对于WebMVC,我至少需要两种配置:dispatcherservlet.xml和applicationContext.xml。为了安全起见,我使用以下过滤器: <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filt
dispatcherservlet.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
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
此筛选器需要springSecurityFilterChain
,在applicationContext.xml
中使用
但是,我想在调度器servlet.xml
中定义的@Controller
上使用@Secured
注释。同样,这需要另一个上下文文件中的
-强>
我所要做的就是在@Controller
级别上实现安全性。我根本不关心更深层的安全(@Service
等),因为这是唯一的入口点
我怎样才能摆脱这一团糟?我做错了什么?要为控制器启用安全注释,只需将
添加到dispatcher servlet.xml
。奇怪的是,当我设置它时,@RequestMapping
被忽略了。我可以在日志中看到“在名为“dispatcher”的DispatcherServlet中找不到URI为[/app/myview.do]的HTTP请求的映射”。我希望被重定向到登录页面。如何实现这一点?@Konrad:如果控制器实现了任何接口,您需要添加代理目标类=“true”
,请参阅Nice,这就成功了(我的控制器用于扩展抽象类)。另一个问题出现了:控制器被实例化了两次(似乎是AOP的第二次)。这正常吗?