我想在 Grails 应用程序中添加自定义 SpELL 方法,就像为普通 Spring-Security 应用程序所做的那样这个问题 https://stackoverflow.com/questions/6632982/how-to-create-custom-methods-for-use-in-spring-security-expression-language-anno,通过覆盖评价语境 http://static.springsource.org/spring/docs/3.0.x/reference/expressions.html。这行得通吗?
我该如何插入global-method-security
进入安全配置?我可以配置安全性 http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/22%20Miscellaneous%20Properties.html,但是那里要添加什么?就像是
grails.plugins.springsecurity = {
'global-method-security' {
'expression-handler' {
ref("myMethodSecurityExpressionHandler")
}
}
}
?但是什么代码会解释它呢?
调查SpringSecurityCoreGrailsPlugin.groovy
也没有给我任何见解。
仅当您还安装了 spring-security-acl 插件时才可用。它配置了expressionHandler
bean:
expressionHandler(DefaultMethodSecurityExpressionHandler) {
parameterNameDiscoverer = ref('parameterNameDiscoverer')
permissionEvaluator = ref('permissionEvaluator')
roleHierarchy = ref('roleHierarchy')
trustResolver = ref('authenticationTrustResolver')
}
所以如果你有自己的子类DefaultMethodSecurityExpressionHandler
你可以更换豆子resources.groovy
像这样:
import com.mycompany.myapp.MyMethodSecurityExpressionHandler
beans = {
expressionHandler(MyMethodSecurityExpressionHandler) {
parameterNameDiscoverer = ref('parameterNameDiscoverer')
permissionEvaluator = ref('permissionEvaluator')
roleHierarchy = ref('roleHierarchy')
trustResolver = ref('authenticationTrustResolver')
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)