如何为所有经过身份验证的用户授予访问权限

时间:2009-02-16 11:16:25

标签: java spring-security

需要使用Spring Security向没有任何角色的用户授予访问权限。任何人必须如何授予进程身份验证才能访问任何URL。我可以通过这样的事情做到这一点,或者可能以其他方式做到这一点吗?

<http auto-config='true'>
  <intercept-url pattern="/**" access="ALL" />
  <intercept-url pattern="/login.jsp" filters="none" />
  <form-login login-page="/login.jsp" />
</http>

2 个答案:

答案 0 :(得分:0)

您可能正在寻找IS_AUTHENTICATED_FULLY或IS_AUTHENTICATED_REMEMBERED或IS_AUTHENTICATED_ANONYMOUSLY

还要检查http://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/vote/AuthenticatedVoter.html

答案 1 :(得分:0)

实际上你只需要创建自己的AccessDecisionManager和你自己的AccessDecisionVoter并将它们传递到这样的块中:

<http .... access-decsion-manager="myAccessManager">
  .....
</http>

<bean id="myAccessManager" class="org.springframework.security.vote.AffirmativeBased">
   <property name="decisionVoters">
      <list>
         <bean id="myVoter" class=[some subclass of AccessDecisionVoter] />
      </list>
   </property>
</bean>

这不是100%的解决方案,但它应该让您开始走正确的道路。 Spring Security中的“auto-config”设置在后台创建了很多这些类,如果没有其他正确类的bean可以自动加载它们。