Grailsアプリケーションを設定してユーザを認証することに成功しました。@ Secure Closureを使用するときにコントローラメソッドのパラメータを取得するにはどうすればよいですか?
私は私のUrlMappings.groovyで、URL paramsはを使用して、コントローラのメソッドの引数をマップ:
"/$source/owner/$ownerId/show"(controller:"myController", action: "show", method: "GET")
私は私の@Securedクロージャ内の$源と$ OWNERIDの値を取得するにはどうすればよいですか?
私のコントローラメソッドは次のようになります。
@Secured(closure = {
//null
def testSource = params.source
//also null
def testOwnerId = params.ownerId
//null
def owner = request.ownerId
//null
def owner2 = request.getParameter('ownerId')
//contains only query string params
def grailsParams = request['org.codehaus.groovy.grails.WEB_REQUEST']?.params
return true
})
def show(String source, String ownerId) {
...
}
は、どのように私は、これらの値を得るのですか?私は何を間違えているのですか?
私はこのポストは解決策を提供すると思ったが、そこに与えられた答えは私のために動作しませんでした:
私は、次のGrailsとプラグインのバージョンを使用しています:
grails 2.5.1
compile ":spring-security-core:2.0-RC5"
compile ":spring-security-rest:1.5.3", {
excludes 'com.fasterxml.jackson.core:jackson-databind:'
}
を
'def owner = request.ownerId'を実行するとどうなりますか?それもヌルですか? – Gregg
@Greggご返信ありがとうございます!しかし、これもnullを返します。 – RMorrisey
'println params'だけを試してみましょう。それらがある場合は、配列の値から見つけることができます。 –