Spring Security Core と Spring Security cas から別のチームが作成したカスタム セキュリティ jar があり、それを Grails プロジェクトに追加したいと考えています。この<import resource=classpath:META-INF/security.xml>
タグを applicationContext.xml に追加し、必要な xmlns および xsd 宣言を追加しようとしましたが、エラーが発生します。
Message: Configuration problem: Failed to import bean definitions from URL location [classpath:META-INF/security.xml]
Offending resource: ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security]
Offending resource: class path resource [META-INF/security.xml]
この jar を使用するように純粋な Java プロジェクトをアップグレードしたときに、spring-security-core、spring-security-conf の依存関係を手動で追加する必要がありました。Grails で同じことを行う必要がありますか、それともより良い方法がありますか?
Grails 2.2 グルービー 2.0.6
また、security.jar は Spring Security 3.0 でビルドされました
ガイダンスはありますか?手元にある 3 冊の Grails ブックに目を通しましたが、プロジェクトへのカスタム ライブラリの追加について触れているものはありません。
ありがとう。
編集 1.
以下のように、春のセキュリティ依存関係を BuildConfig.groovy ファイルに追加しました
dependencies {
compile "org.springframework.security:spring-security-core:3.1.4.RELEASE"
compile "org.springframework.security:spring-security-config:3.1.4.RELEASE"
}
古いエラーを乗り越えたようです。しかし今、私は素敵なものを手に入れています
Error 2013-06-25 16:20:34,982 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed
Message: Error creating bean with name 'org.springframework.security.authentication.dao.DaoAuthenticationProvider#0': Cannot resolve reference to bean 'userService' while setting bean property 'userDetailsService'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [edu.umt.security.NetIdAuthoritiesPopulator] for bean with name 'userService' defined in class path resource [META-INF/security.xml]; nested exception is java.lang.ClassNotFoundException: edu.umt.security.NetIdAuthoritiesPopulator
...
Caused by CannotLoadBeanClassException: Cannot find class [edu.umt.security.NetIdAuthoritiesPopulator] for bean with name 'userService' defined in class path resource [META-INF/security.xml]; nested exception is java.lang.ClassNotFoundException: edu.umt.security.NetIdAuthoritiesPopulator
通常、Eclipse プロジェクトを数回クリーニングすることでこれを修正しますが、今回はさいころがなく、どこに問題があるのか わかりません。問題のクラスは jar ファイル内にあるので、そこにあることがわかります。