Почему "permitAll ()" не работает?

упомянуть достойный: я следую учебник о обеспечение безопасности приложений GWT с Spring Security.


я не понимаю этого. Я не могу, кажется, получить permitAll работать так, как мне нужно.

это моя текущая конфигурация:

<http auto-config="true">
    <intercept-url pattern="/**" access="permitAll" />
    <form-login 
        login-page="/login" 
        default-target-url="/welcome" 
        authentication-failure-url="/login?error" 
        username-parameter="username"
        password-parameter="password" />
</http>

если я получаю доступ к своему сайту на //localhost:8080 сайт загружается не полностью, потому что запрос

//localhost:8080/app/xsrf

is 403 Forbidden по какой-то причине. Как я настроил Spring Security должен не будет проблемой здесь, Если я правильно понял.

я не работа, если я просто добавлю

<intercept-url pattern="/**" access="permitAll" />

to <http ..> что тут работа добавить это:

<http pattern="/app/xsrf" security="none"/>

я хотел бы понять, почему, потому что это не так, как я хочу настроить Spring Security.. добавление каждого URL-адреса, который должен быть разрешен.

An дополнительные проблема, с которой я сталкиваюсь, заключается в том, что по какой-либо причине (возможно, то же самое) я не могу получить доступ //localhost:8080/login. Что означает, если я отправлю свой логин в /login я 403 Forbidden.

теперь, можно подумать, что добавление <http pattern="/login" security="none"/> помог бы здесь, но нет. Если я добавлю это в свою конфигурацию, я получу 404 Not Found на этом конкретном URL.

это начинает сводить меня с ума, так как я застрял здесь на столько дней, что не смею вам сказать. Ваша помощь будет оценена и вознаграждена.


2 ответов


похоже, что ошибка была в web.в XML. Вместо <url-pattern>/*</url-pattern> (как указано в учебнике, я следил) он должен быть!--3-->:

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <!-- It appears that this should say '/**' and not '/*' as stated in many
        tutorials 
        (e.g. http://websystique.com/spring-security/spring-security-4-hello-world-annotation-xml-example/).  -->
    <url-pattern>/**</url-pattern>
</filter-mapping>

интересно то, что теперь я получаю следующее" INFO":

INFO: Suspicious url pattern: "/**" in context [] - see section SRV.11.2 of the Servlet specification

все, что я могу сказать, что это становится личным ..


EDIT: с use-expressions=true включен по умолчанию, поэтому этот ответ не помочь. Но...я нашел вашу ошибку:
spring автоматически генерирует страницу входа по умолчанию в /login, но только если вы не укажете