URL-адрес перехвата Spring Security работает не так, как ожидалось

#spring #spring-security

#spring #spring-безопасность

Вопрос:

Он отлично работает, когда я ввожу URL-адрес «app_name / dashboard» и он переводит меня на страницу входа в систему. Когда я ввожу «app_name / dashboard / morestuff», он перенаправляет меня непосредственно на этот URL, но я ожидаю, что он снова приведет меня на страницу входа в систему.

Конфигурация безопасности Spring выглядит следующим образом

 <http auto-config="true" use-expressions="false">
    <intercept-url pattern="/dashboard*" access="ROLE_ADMIN" />
    <!-- <intercept-url pattern="/comment" access="ROLE_USER" /> -->
    <form-login 
        login-page="/login" 
        default-target-url="/" 
        login-processing-url="/j_spring_security_check"
        authentication-failure-url="/login?error" 
        username-parameter="username"
        password-parameter="password" />
    <logout logout-success-url="/login?logout"  />
    <!-- enable csrf protection -->
    <csrf disabled="true"/>

</http>
<authentication-manager>
    <authentication-provider user-service-ref="userServiceImpl" >  
    </authentication-provider>
</authentication-manager>
 

Комментарии:

1. Вы не обеспечили /dashboard/morestuff безопасность… Так что да, он приведет вас к этому URL-адресу. /dashbord* также не включает /dashboard/morestuff добавление /dashboard/** .

2. о, да, я тоже об этом думал.. позвольте мне добавить его и протестировать!!!

3. @Deinum это сработало для меня… большое вам спасибо!!!