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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring Security + @PreAuthorize, не работает, почему-то. 
:(
    Опции темы
spruce
Дата 5.9.2011, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

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



Приветствую.

Пытаюсь огранизовать проверку доступа в своем приложении с помощью @PreAuthorize аннотаций.
Соответственно метод оформляю так:
Код

    @PreAuthorize("hasRole('ROLE_ADMIN')")
    @RequestMapping(value = "/admin", method = RequestMethod.GET)
    public String getAdminPage(){

        return "admin";
    }


в app-servlet.xml добавил строку:
<security:global-method-security pre-post-annotations="enabled"/>

также добавил cglib-nodep-2.2.jar в WEB-INF/lib (кроме того, пробовал добавлять и другие версии cglib-nodep, но и просто cglib.jar)

Все равно выдается ошибка:
Код

...nested exception is org.springframework.aop.framework.AopConfigException: 
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.


понимаю, что надо обратить внимание на specify proxy interfaces, но не пойму что надо конкретно прописать...подскажите плиз.
Без @PreAuthorize("hasRole('ROLE_ADMIN')") все нормально работает...

Спасибо.

Это сообщение отредактировал(а) spruce - 5.9.2011, 22:17
PM MAIL   Вверх
MisterCleric
Дата 5.9.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Привет.
CGLIB должен лежать рядом со Spring. Т.е. у них долже быть один ClassLoader


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

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



Цитата(MisterCleric @ 5.9.2011,  23:38)
Привет.
CGLIB должен лежать рядом со Spring. Т.е. у них долже быть один ClassLoader

У меня все либы лежат в папке WEB-INF/lib - и спринговские, и спринг-секьюрити, и прочие...
PM MAIL   Вверх
MisterCleric
Дата 6.9.2011, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а еще spring-aop.jar лежит у тебя там же?

Добавлено через 4 минуты и 3 секунды
org.springframework.aop.framework.DefaultAopProxyFactory
Код

/** Whether the CGLIB2 library is present on the classpath */
    private static final boolean cglibAvailable =
            ClassUtils.isPresent("net.sf.cglib.proxy.Enhancer", DefaultAopProxyFactory.class.getClassLoader());


И дальше по коду:
Код

    if (!cglibAvailable) {
                throw new AopConfigException(
                        "Cannot proxy target class because CGLIB2 is not available. " +
                        "Add CGLIB to the class path or specify proxy interfaces.");
            }


Т.е. у тебя все-таки проблемы с ClassLoader

Это сообщение отредактировал(а) MisterCleric - 6.9.2011, 09:12


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

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



Цитата(MisterCleric @ 6.9.2011,  09:12)
а еще spring-aop.jar лежит у тебя там же?

вот все что есть в папке WEB-INF/lib:
Код

Spruce:lib spruce$ ls -1a
.
..
.DS_Store
aopalliance.jar
aspectjrt.jar
aspectjweaver.jar
commons-beanutils-1.8.0.jar
commons-codec-1.5.jar
commons-digester-2.0.jar
commons-logging-1.1.1.jar
jstl-1.2.jar
log4j-1.2.16.jar
org.springframework.aop-3.1.0.M2.jar
org.springframework.asm-3.1.0.M2.jar
org.springframework.aspects-3.1.0.M2.jar
org.springframework.beans-3.1.0.M2.jar
org.springframework.context-3.1.0.M2.jar
org.springframework.core-3.1.0.M2.jar
org.springframework.expression-3.1.0.M2.jar
org.springframework.web-3.1.0.M2.jar
org.springframework.web.servlet-3.1.0.M2.jar
slf4j-api-1.6.2.jar
slf4j-log4j12-1.6.2.jar
spring-security-acl-3.1.0.RC3.jar
spring-security-config-3.1.0.RC3.jar
spring-security-core-3.1.0.RC3.jar
spring-security-taglibs-3.1.0.RC3.jar
spring-security-web-3.1.0.RC3.jar
tiles-api-2.2.2.jar
tiles-core-2.2.2.jar
tiles-jsp-2.2.2.jar
tiles-servlet-2.2.2.jar
tiles-template-2.2.2.jar

PM MAIL   Вверх
MisterCleric
Дата 6.9.2011, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ну-у. И где же в этом списке cglib-nodep-2.2.jar ?


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

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



Прошу прощения  smile 
Да, сейчас не было этого файла и именно по-этому не работало... Но почему могла выдаваться эта ошибка вчера, когда я и добавлял, и удалял этот файл из папки? 
Кстати, у меня вчера в течении дня все работало, потом чего то накуралесил и перестало вобще все работать. Откатил версию назад и как раз перестали работать эти аннотации, начал проверять сразу библиотеки и конфиги - было все нормально..

Может есть какой-то кэш? Может подскажете как в эклипсе пересобрать полностью проект - я так понимаю там уже скомпиленные классы не трогаются... Хотя с другой стороны эта библиотека подключается динамически и достаточно просто перезагрузить сервер...вобще не могу понять, почему так было.
PM MAIL   Вверх
MisterCleric
Дата 6.9.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а вот не надо полагаться на возможности среды...



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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.11.2010
Где: Московская обл.

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



Цитата(MisterCleric @ 6.9.2011,  11:00)
а вот не надо полагаться на возможности среды...

я так понял, это был намек использовать что-то типа maven? smile
PM MAIL   Вверх
MisterCleric
Дата 6.9.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

 smile 

 smile 


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

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

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


 




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


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

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