Как ограничить права юзера?

<?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.xsd">

    <http auto-config="true">
        <access-denied-handler error-page="/403" />
        <intercept-url pattern="/profile/id{id}" access="hasAnyRole('ROLE_USER', 'ROLE_ADMIN')"/>
        <intercept-url pattern="/admin" access="hasRole('ROLE_ADMIN')"/>

        <form-login login-page="/login"
                    default-target-url="/home"
                    authentication-failure-url="/login?error"
                    username-parameter="login"
                    password-parameter="password"/>

        <logout logout-url="/logout"
                logout-success-url="/home"/>
    </http>

    <authentication-manager alias="authenticationManager">
        <authentication-provider user-service-ref="userDetailsService">
            <password-encoder ref="encoder"/>
        </authentication-provider>
    </authentication-manager>

    <beans:bean id="userDetailsService"
                class="com.youngdevelopers.service.UserDetailsServiceImpl"/>

    <beans:bean id="encoder"
                class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
    </beans:bean>

</beans:beans>

Это настройки spring security. Проблема в том что, когда я не авторизирован и перехожу на страницу профиля, то меня переводит на страницу регистрации, если зайду за обычного юзера и зайду на страницу вылетает ошибка 404, хотя должна быть 403. Как это сделать?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Описанное тобой поведение и есть правильное. 403 ошибка будет выдаваться, если профиль пользователя попробует просмотреть пользователь, у которого нет ни роли USER, ни роли ADMIN.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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