spring security xml解释

时间:2014-03-30 08:25:40

标签: spring spring-security aop

我是春天安全的新手。我想了解以下行对我的Web应用程序的作用

<security:http>
  <security:intercept-url pattern="/**" access="ROLE_USER" />
  <security:form-login />
  <security:logout />
</security:http>

据我了解

  1. intercept-url表示当收到对具有与pattern属性中指定的模式匹配的位置的任何资源的请求时,显示表单登录。
  2. form-login表示给我默认表单登录
  3. 注销意味着提供默认表单注销
  4. 如果错误/不充分,请纠正以上几点。另外,有人可以解释access="ROLE_USER"做了什么吗?

2 个答案:

答案 0 :(得分:1)

  1. 是。对于每个intercept-url Spring Security,将检查是否有已登录的用户以及他/她是否具有访问该URL所需的角色。在您的情况下,您匹配所有请求。请注意,如果您有多个intercept-url,则按照它们在配置中写入的顺序进行评估(如果在较窄的intercept-url之前放置较宽的 <authentication-manager> <authentication-provider> <user-service> <user name="myuser" password="mypass" authorities="ROLE_USER" /> <user name="myadmin" password="mypass" authorities="ROLE_ADMIN" /> </user-service> </authentication-provider> </authentication-manager> ,则不会对其进行评估)。
  2. 2,3。你做对了。

    要了解访问属性,您必须了解身份验证管理器和提供程序。例如,您可以:

    <security:intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
    

    (还有其他身份验证提供程序,用于JDBC,LDAP ......) 如果你添加另一个intercept-url:

    {{1}}

    myadmin可以访问它,但myuser不能访问。

答案 1 :(得分:0)

只有在授权作者中使用ROLE_USER的用户才能访问该资源。