Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с Spring Security, реализация пра доступа 
:(
    Опции темы
carn
  Дата 23.5.2012, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 18.4.2012

Репутация: нет
Всего: нет



Люди, здравствуйте!
Есть две группы пользователей: admin и user.
Я хочу защитить страницы админа от пользоватетей, и страницы пользователей от админов.
И чтоб при авторизации в систему автоматически перебрасывало пользователя на его страницу (админа на страницу "admin", юзера, например на "user").
Вот текущий код:
Код

<beans:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    <http auto-config="true" use-expressions="true" access-denied-page="/accessDenied.do">
        <intercept-url pattern="/index.do" access="permitAll"/>
        <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/>
        <intercept-url pattern="/user/**" access="hasRole('ROLE_USER')" />
        <form-login login-page="/index.do"  default-target-url="/redirect.do" authentication-failure-url="/accessDenied.do"/>
        <logout invalidate-session="true" logout-success-url="/index.do" logout-url="" />
    </http>
 
   <beans:bean id="myUserService" class="security.UserService" />
 
    <authentication-manager alias="authenticationManager">
        <authentication-provider user-service-ref="myUserService" />
      </authentication-manager>
   </beans:beans>

Помогите, пожалуйста, кто знает.
Заранее спасибо!
PM MAIL   Вверх
MisterCleric
Дата 23.5.2012, 13:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Привет.

С первого взгляда конфигурация выглядит хорошо.
Что тебе осталось сделать:
1. Либо на JSP, которая получается после /redirect.do прописать
Код

<sec:authorize access="hasRole('ROLE_ADMIN')">
   <c:redirect url="/admin" />
</sec:authorize>

2. Либо реализовать подобную логику редиректа в конфиге твоего Struts на базе результата action

Вроде все. Реализовать логику redirect с помощью одного Spring Security конфига не возможно.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
carn
  Дата 23.5.2012, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 18.4.2012

Репутация: нет
Всего: нет



Цитата(MisterCleric @ 23.5.2012,  13:04)
Привет.

С первого взгляда конфигурация выглядит хорошо.
Что тебе осталось сделать:
1. Либо на JSP, которая получается после /redirect.do прописать
Код

<sec:authorize access="hasRole('ROLE_ADMIN')">
   <c:redirect url="/admin" />
</sec:authorize>

2. Либо реализовать подобную логику редиректа в конфиге твоего Struts на базе результата action

Вроде все. Реализовать логику redirect с помощью одного Spring Security конфига не возможно.

Спасибо за подробный ответ!
На данный момент я в контроллере redirect.do определяю типа пользователя и перекидываю на нужную страницу. Это нормально? )
Просто на стартовой странице администратора добавить это (ну и для пользователя тоже):

<sec:authorize access="hasRole('ROLE_ADMIN')">
   <c:redirect url="/admin" />
</sec:authorize>

Я правильно понял?
PM MAIL   Вверх
MisterCleric
Дата 24.5.2012, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

Это нормально?

Думаю, да.
Можешь показать, что ты там пишешь в контролере?
Если здесь у тебя все работает ОК, то на JSP ничего добавлять не надо.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.