3

この質問のプレーンなSpring-Securityアプリケーションで行われているように、 EvaluationContextをオーバーライドして、GrailsアプリケーションにカスタムSpELメソッドを追加したいと思います。これは機能しますか?

global-method-securityセキュリティ設定にプラグインするにはどうすればよいですか?セキュリティを設定できますが、そこに何を追加しますか?何かのようなもの

grails.plugins.springsecurity = {
    'global-method-security' {
        'expression-handler' {
            ref("myMethodSecurityExpressionHandler")
        }
    }
}

?しかし、どのコードがそれを解釈しますか?

調べてSpringSecurityCoreGrailsPlugin.groovyも洞察は得られません。

4

1 に答える 1

2

これは、spring-security-aclプラグインもインストールされている場合にのみ使用できます。expressionHandlerBeanを構成します。

expressionHandler(DefaultMethodSecurityExpressionHandler) {
   parameterNameDiscoverer = ref('parameterNameDiscoverer')
   permissionEvaluator = ref('permissionEvaluator')
   roleHierarchy = ref('roleHierarchy')
   trustResolver = ref('authenticationTrustResolver')
}

したがって、独自のサブクラスがある場合は、次のようDefaultMethodSecurityExpressionHandlerにBeanを置き換えることができます。resources.groovy

import com.mycompany.myapp.MyMethodSecurityExpressionHandler

beans = {
   expressionHandler(MyMethodSecurityExpressionHandler) {
      parameterNameDiscoverer = ref('parameterNameDiscoverer')
      permissionEvaluator = ref('permissionEvaluator')
      roleHierarchy = ref('roleHierarchy')
      trustResolver = ref('authenticationTrustResolver')
   }
}
于 2012-10-15T23:32:09.340 に答える