Spring Security - Как я могу указать анонимную роль для корневой страницы - PullRequest
2 голосов
/ 21 марта 2011

URL-адрес по умолчанию для моего веб-приложения: http://localhost:8080/Icd/

Я хочу отобразить свою пользовательскую страницу входа в систему /index.jsp.

Однако, когда я настраиваю безопасность пружины насделать, я получаю слишком много проблем с перенаправлениями.Ниже приведен код, представленный в файле security.xml.

Дайте мне знать, если я что-то упустил.

<security:http auto-config="true" >

      <security:intercept-url pattern="/" access="ROLE_ANONYMOUS" />
     <security:intercept-url pattern="/*" access="ROLE_USER" />
     <security:form-login login-page="/index.jsp" />
</security:http>
<security:authentication-provider>
    <security:user-service>
        <security:user name="david" password="david" authorities="ROLE_USER,ROLE_ADMIN" />
        <security:user name="alex" password="alex" authorities="ROLE_USER" />
    </security:user-service>
</security:authentication-provider>

Ответы [ 2 ]

1 голос
/ 21 марта 2011

Когда вы ставите

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

, вы говорите, что для каждой страницы требуется ROLE_USER доступ (включая саму страницу входа)

Это (не проверено) может сделатьтрюк:

<security:intercept-url pattern="/index.jsp" access="permitAll"/>
<security:intercept-url pattern="/*" access="ROLE_USER" />
0 голосов
/ 21 марта 2011

Попробуйте указать свою конфигурацию следующим образом:

 <security:http auto-config="true" use-expressions="true" access-denied-page="/krams/auth/denied" >

  <security:intercept-url pattern="/krams/auth/login" access="permitAll"/>
  <security:intercept-url pattern="/krams/main/admin" access="hasRole('ROLE_ADMIN')"/>
  <security:intercept-url pattern="/krams/main/common" access="hasRole('ROLE_USER')"/>

  <security:form-login
    login-page="/krams/auth/login"
    authentication-failure-url="/krams/auth/login?error=true"
    default-target-url="/krams/main/common"/>

  <security:logout
    invalidate-session="true"
    logout-success-url="/krams/auth/login"
    logout-url="/krams/auth/logout"/>

 </security:http>

Этот использует пользовательскую страницу входа. Для получения дополнительной информации вы можете проверить полную заявку на http://krams915.blogspot.com/2010/12/spring-security-3-mvc-using-simple-user.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...