春季安全

时间:2014-04-28 16:14:50

标签: java spring spring-security

我刚刚学习弹簧安全性。 考虑

  <security:form-login always-use-default-target="false"
   authentication-failure-url="/login.do?error=1" default-target-url="admin/admin.do"
   login-page="/login.do?error=0" login-processing-url="/j_security_check" />

目前登录的所有用户都可以访问管理页面。 如果我需要根据授权将用户限制到管理页面,例如,如果用户有ROLE_UPDATE,则需要完成。就像在...非jee.xml文件中那样。

或者我是否需要更改应用程序代码以便它查找&#34; ROLE_UPDATE&#34;对于使用表单成功登录的用户。

1 个答案:

答案 0 :(得分:0)

意识到这个问题已经过时了,但对于那些发现这个问题的人来说......详细信息可以在这里找到,并提供了很好的示例和文档:http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#authorization

最常见的情况是每个用户都分配了一组角色。然后,您可以按角色限制功能。该功能可以是网址和/或方法。由于您的示例显示了XML配置,因此这里是一个XML示例,说明如何限制对URL的访问。 (注意:这是在config的http部分,即上面显示的表单登录的兄弟姐妹)

<http>
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/>
    <form-login ... />
</http>

有更复杂的选项,但这应该让你开始。这里有一个很好的细节部分:http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#ns-form-and-basic