| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > [SpringSecurity] помогите разобраться |
| Автор: kosmonaFFFt 17.3.2010, 21:08 |
| Доброго времени суток... Ваяю тут по учебе небольшой форум на Java, хочу для начала сделать авторизацию/регистрацию... С регистрацией все более-менее понятно - вывел форму, создал нового юзера, сохранил в БД и готово, а вот с авторизацией немного не врубаюсь... Итак, имеется класс User, который реализует интерфейс UserDetails, имеется реализвция интерфейса UserDetailsService под названием UserDetailsServiceImpl... Ролей всего две - изер и модератор... Требуется закрыть доступ на все страницы кроме стартовой для анонимусов, разрешить доступ юзерам, и разрешить доступ модерам к их модерским функциям... Чего я не смог понять - это что и в какие конфиги конкретно для этого надо писать, если кто приведет примерчик, или ссылку на оный, буду очень благодарен... З.Ы. http://j2w.blogspot.com/2008/10/spring-security-2.html тут уже был... |
| Автор: garbuz 17.3.2010, 22:37 |
| http://www.mularien.com/blog/2008/07/07/5-minute-guide-to-spring-security/ |
| Автор: kosmonaFFFt 18.3.2010, 19:53 | ||||||
| Так ничего и не получилось: В web.xml добавил:
В applicationContext-Security.xml:
На это все при попытке задеплоить приложение, выдается следующее:
|
| Автор: garbuz 18.3.2010, 22:25 |
| Попробуйте подменить либы, посмотрите деплоятся ли они на сервер, погуглите. |
| Автор: kosmonaFFFt 18.3.2010, 22:55 |
| Этим сейчас и занимаюсь - скачал последнюю версию спринга, заменил на нее ту, что шла вместе с NetBeans... Сейчас пробую создать минимальную рабочую конфигурацию... Об результатах отпишусь... |
| Автор: MisterCleric 18.3.2010, 23:28 |
| А какие либы spring'a лежат в classpath? Что-то мне так кажеться, что несовместимые по версии... |
| Автор: kosmonaFFFt 19.3.2010, 13:08 | ||||||||
| Так оно и было, лежали либы 2.5 и 3 версий... Сейчас положил все либы 3 версии... applicationContextSecurity:
JUser.java:
JUserServiceImpl.java:
То есть любой юзер существует с пустым паролем... login.jsp:
При попытке перейти по ссылке на onlyuser.htm вываливается окно логина, чего мне и надо, но после того, как вводишь имя пользователя и любой (пустой тоже) пароль - вываливается обратно на страницу index.htm, как я в конфиге и прописал... Вопрос - чего я делаю не так, и почему попытки логина не удаются? Заранее спасибо... |
| Автор: MisterCleric 22.3.2010, 11:22 | ||||||
А если заменить:
на
Как тогда ведет себя приложение? Что-то мне кажется, что security не читает твой метод:
|
| Автор: kosmonaFFFt 23.3.2010, 12:55 |
| Когда заменил - заработало... Попробовал несколько вариантов getAuthorities, в том числе с явной неанонимной реализацией - все равно не работает... Буду очень благодарен за помощь... З.Ы. Нашел в исходниках спринга их класс User, попробую использовать его, или написать подобный... |
| Автор: kosmonaFFFt 23.3.2010, 19:03 | ||
Переделал реализацию UserDetailsService на
и все равно ничего не получается - входит только если поставить анонимный доступ на страницу... А не может ли случаем отсутствие какой-либо конфигурации в dispatcher-servlet.xml мешать аутентификации? Я там дополнительно ничего не прописывал... З.Ы. Поменял в форме логина action="j_spring_security_check" на action="/wa/j_spring_security_check" и теперь при правильном имене и пароле выдает ошибку 403 Access is denied, а при неправильных - выкидывает на заданную мной страницу... |
| Автор: kosmonaFFFt 23.3.2010, 19:44 |
| Млин, только сейчас случайно заметил, что забыл добавить в коллекцию объект с ролью... Работает все, что хотелось... Спасибо всем за помощь... |