如何正确配置Spring Security到我的项目中?

时间:2015-04-03 10:26:52

标签: java spring spring-mvc spring-security

我正在攻读Spring Core认证,我对如何正确配置 Spring Security 有一些疑问。

在研究材料中,我发现这些信息在我看来并不那么清楚。

它说:

应用程序上下文中的配置:

  • 春季配置
  • 使用Spring Security的“安全”命名空间

并显示以下示例:

<beans>
    <security:http>
        <security:intercept-url pattern="/accounts/**" access="IS_AUTHENTICATED_FULLY" />
        <security:form-login login-page="/login.htm"/>
        <security:logout logout-success-url="/index.html"/>
   </security:http>
</beans>

然后在下面的幻灯片中说:

在web.xml中配置:

定义单个代理过滤器:

  • springSecurityFilterChain是必填名称
  • 指的是同名的现有Spring bean

并显示此示例:

<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>

我无法理解,如果要在Spring项目中配置Spring Security,我必须使用这两种配置:第一个进入Spring配置文件(我定义我的bean),第二个进入 web.xml 文件(定义服务器需要知道的应用程序的所有内容:servlet,过滤器,初始化参数等等)或者如果这些示例是两个不同的替代方法来执行相同的操作2种不同的方式?

如果是第二种情况,我是否可以使用第一种情况,何时使用第二种情况?

1 个答案:

答案 0 :(得分:2)

你应该做两件事:

  • 配置http请求的安全性(在applicationContext中)
  • 使用web.xml
  • 配置应用程序容器以了解您的安全配置

所以幻灯片是两个步骤,而不是两个选择。

编辑: 第一步将允许您配置哪个URL将被保护以及哪个将不受保护(以及更多选项)

第二步是允许您的配置应用于您的应用

的步骤

我希望它可以帮到你