Как предоставить доступ всем прошедшим проверку пользователям?

StackOverflow https://stackoverflow.com/questions/552982

  •  23-08-2019
  •  | 
  •  

Вопрос

Необходимо предоставить доступ пользователям без какой-либо роли с помощью 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>
Это было полезно?

Решение

вы, вероятно, ищете IS_AUTHENTICATED_FULLY или IS_AUTHENTICATED_REMEMBERED или IS_AUTHENTICATED_ANONYMOUSLY.

также проверьте http://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/vote/AuthenticatedVoter.html

Другие советы

На самом деле вам просто нужно создать свой собственный 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 создает множество этих классов в фоновом режиме и автоматически загружает их, если нет других доступных компонентов правильных классов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top