2
私は(deadboltを使用して)私の見解で何か(play! framework
)を制限しようと、私は、パラメータを渡すために持っているように:あなたは3
は、例えばharcodedさに気づくデッドボルト問題
#{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':'3'}
(それが動作します) 。今のコードは、もはや動作しますが、それは例外をスローし、
#{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':${project.alias}]}
まあ:なぜこれが起こっている
Exception raised was MissingMethodException : No signature of method: Template_1012.$() is applicable for argument types: (Template_1012$_run_closure1_closure2) values: [[email protected]] Possible solutions: _(java.lang.String), is(java.lang.Object), run(), run(), any(), get(java.lang.String).
あなたは知っていますか?しかし、私は次のように、それはダイナミックな必要はありませんか私の頭の上オフ
ありがとうございますが、それは文字列としてコードに現れます: '$ {project.alias}' ...私が見つけた回避策は、現在のURLからプロジェクトエイリアスを取得することです。 –
#{deadbolt.restrictedResource resourceKeys:['projectEdit']、resourceParameters:['projectId':project.alias]あなたは$ {}を必要としません。 }}#{deadbolt.restrictedResource resourceKeys:['projectEdit']、resourceParameters:['projectId': '' + project.alias]} –
ありがとう、それは '$ {}'のような 'project.alias'のように機能します。 –