gpt4 book ai didi

grails - 在 Grails 中用自己的方法扩展 SpEL?

转载 作者:行者123 更新时间:2023-12-02 09:53:12 25 4
gpt4 key购买 nike

我想在 Grails 应用程序中添加自定义 SpEL 方法,就像 this question 中为普通 Spring-Security 应用程序所做的那样,通过覆盖EvaluationContext 。这行得通吗?

如何将 global-method-security 插入安全配置?我可以configure security ,但是那里要添加什么?类似的东西

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 中的 bean:

import com.mycompany.myapp.MyMethodSecurityExpressionHandler

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

关于grails - 在 Grails 中用自己的方法扩展 SpEL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12905090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com