Страницы Spring Security 3.0 - Intercept-URL - All требуют аутентификации, но один

Я хочу, чтобы любой пользователь смог отправить их имя к волонтерской форме, но только администраторам, чтобы смочь просмотреть любой другой URL. К сожалению, я, кажется, не могу добраться, это исправляет. Мой resources.xml следующим образом;

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    <http realm = "BumBumTrain Personnel list requires you to login" auto-config="true" use-expressions="true">
        <http-basic/>
        <intercept-url pattern="/person/volunteer*" access=""/>
        <intercept-url pattern="/**" access="isAuthenticated()" />
    </http>

    <authentication-manager alias="authenticationManager">
        <authentication-provider>
            <user-service>
                <user name="admin" password="admin" authorities="ROLE_ADMIN"/>
            </user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>

Конкретно я пытаюсь достигнуть настроек доступа, через которые я описал;

    <intercept-url pattern="/person/volunteer*" access=""/>
    <intercept-url pattern="/**" access="isAuthenticated()" />

Кто-то мог описать, как использовать URL прерывания для достижения результата, который я описал?

Спасибо

Gav


По любой причине в приложении чаш Грааля мне было нужно;

        <intercept-url pattern="/person/volunteer/**" access="" filters="none"/>
    <intercept-url pattern="/images/**" access="" filters="none"/>
    <intercept-url pattern="/css/**" access="" filters="none"/>
    <intercept-url pattern="/js/**" access="" filters="none"/>
    <intercept-url pattern="/**" access="ROLE_ADMIN" />

Чтобы заставить это работать, отметьте различие в первом правиле.

5
задан Jon Clements 20 July 2015 в 14:45
поделиться

1 ответ

Что именно работает не так, как вы ожидаете? что пошло не так?

Я думаю, что access = "" не то, что вы ожидаете ... Используйте формат из документации:

<intercept-url pattern="/login.jsp*" filters="none"/>

Если вы не используете аутентификацию по умолчанию (что вы делаете), вам нужно будет добавить a WebExpressionVoter, потому что вы используете выражения выражения doc

8
ответ дан 14 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: