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

<?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.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
07 мая 2024, в 17:40
300 руб./за проект
07 мая 2024, в 17:22
140000 руб./за проект