Попробуем Spring Security с Джерси Что не так с моим файлом security-context.xml? - PullRequest
1 голос
/ 07 декабря 2011

Я пытаюсь добавить Spring Security в мое веб-приложение на Джерси. Я попытался использовать следующее в качестве файла security-context.xml в дополнение к моему существующему applicationContext.xml (2 отдельных файла для contextConfigLocation в web.xml):

http://snipt.org/OIh

на основе решения, предоставленного здесь: Аутентификация пользователя в службе REST Джерси

Однако при запуске tomcat ... я получаю следующую ошибку:

SEVERE: Исключительная ситуация при отправке события, инициализированного контекстом, в экземпляр прослушивателя класса org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: строка 11 в документе XML из ресурса ServletContext [/META-INF/securityContext.xml] недопустима; вложенное исключение: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: соответствующий подстановочный знак является строгим, но не найдено никакого объявления для элемента 'security: global-method-security'.

Может кто-нибудь помочь мне, что не так?

1 Ответ

1 голос
/ 07 декабря 2011

Вы использовали: пространство имен Spring Security 2, но элемент «security: global-method-security» является функцией безопасности Spring 3.

Если вы используете Spring Security 3 (требуется Spring 3), обновите оба пространства именодин для Spring (вы используете пространство имен Spring 2.5) и пространство имен Spring Security.

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:security="http://www.springframework.org/schema/security"
    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-3.0.4.xsd
        http://www.springframework.org/schema/util
          http://www.springframework.org/schema/util/spring-util.xsd">

Если вы действительно должны использовать Spring Security 2.0, то вы не можете использовать элемент 'security: global-method-security`.В этом случае вы должны явно написать конфигурацию компонента, которая скрыта между этим тегом.(Но, к сожалению, это много компонентов, и там имена пакетов были изменены с версии 2.0 на версию 3.0, поэтому я не могу предоставить рабочий пример.)

...