0

需要使用 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>
4

2 回答 2

0

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

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

于 2009-02-16T12:44:36.740 回答
0

实际上,您只需要创建自己的 AccessDecisionManager 和自己的 AccessDecisionVoter(s) 并将它们传递到块中,如下所示:

<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 中的“自动配置”设置在后台创建了很多这样的类,如果没有其他可用的正确类的 bean,则会自动加载它们。

于 2009-03-19T16:18:55.157 回答