新しいGrails 3.2.4アプリケーションが生成されました。私はいくつかのドメインオブジェクト、コントローラ、サービスを生成してから、アプリケーションをコンパイルして実行します。私はbuild.gradleに次の行を追加しました。Grails 3.2.4 Springセキュリティプラグインの追加後にアプリケーションがロードされない3.1.1
dependencies {
...
compile "org.grails.plugins:spring-security-core:3.1.1"
...
}
次に、the plugin docsで指定されているように、次のコマンドを実行しました。私は、このコマンドが生成されることをapplication.groovyで指さ私はすでに、ユーザー、役割、およびのUserRoleのクラスが定義されていた
grails s2-quickstart --uiOnly
、だけでなく、定義:
grails.plugin.springsecurity.active = true
は、私はまた、いくつかの用法を追加しましたいくつかの私の意見に<sec:ifNotGranted>
タグの私の知る限り、私は他に何もする必要はありません、ドキュメントから言うことができるように
。 Spring Securityのプロパティは、上記でリンクされているドキュメントに従って、プラグインによって提供されるDefaultSecurityConfig.groovyファイルで定義されたデフォルト値を持つ必要があります。しかし、アプリケーションは今実行されません。私が得た最初のエラーは:
groovy.lang.MissingMethodException: No signature of method: static grails.plugin.springsecurity.SpringSecurityUtils.findFilterChainNames() is applicable for argument types: (org.grails.config.NavigableMap$NullSafeNavigator, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, groovy.util.ConfigObject) values: [[:], false, false, false, false, false, [:]]
Possible solutions: findFilterChainNames(java.lang.Object, boolean, boolean, boolean, boolean, boolean, boolean)
at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1503)
at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1489)
at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at grails.plugin.springsecurity.ReflectionUtils.findFilterChainNames(ReflectionUtils.groovy:214)
私はthe code where findFilterChainNames is calledに見て、問題が(上記のドキュメントによれば)真または偽のいずれかのデフォルトのブール値を持つ必要がありますいくつかのプロパティがあるということですが、代わりに彼ら定義されていないため、ここに示すエラーが発生します。私は、application.groovyでこれらのプロパティを自分で定義すると、このエラーになることを確認しました。ただし、Spring Securityコードが実行される次の未定義プロパティーのために、別のエラーに置き換えられます。
私はthe code where the default values from DefaultSecurityConfig.groovy should be merged into the values defined in the application.groovyを通じて段階。しかし、DefaultSecurityConfigがクラスパスから読み込まれ、解析されると、ファイルに表示されるプロパティは、返されたコンフィグレーションマップには終りません。私はマニュアルの指示に従って
私は、私が間違ってやっているかを把握することはできません。私は同様の問題をオンラインで検索しようとしましたが、何も見つかりませんでした。誰にもアイデアがありますか?
個人的には試したことがありません--uiOnly 'grails s2-quickstart com.yourapp User Role'とにかく動作を変更するかどうか試してみてください。 http://grails-plugins.github.io/grails-spring-security-core/v3/index.html#s2-quickstartあなたのメソッドは存在しません。そのページの文書はあまりありません – Vahid
悲しいことに、行動の変化はありません: – Schmick