gpt4 book ai didi

grails - 有没有一种方法可以在Spring Security插件的属性文件中定义角色,而不是对其进行硬编码?

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

我正在使用LDAP插件和Spring Security插件。 LDAP插件获取已登录用户所属的组。我的应用程序有两个角色adminnormal。与其使用硬编码角色,我不希望通过属性文件来配置它们。这样,而不是写

@Secured(["ROLE_ADMINS"])

我可以写一些像
@Secured(["role.admins"])

其中 role.admins=ROLE_ADMINS在配置文件中。

这样,我可以获取相同的WAR文件,并将其部署到多个客户端,每个客户端都有自己的标准化方法来配置ActiveDirectory中的组名。

最佳答案

您可以使它正常工作,但是我认为有更好的选择。该注释当前有点僵化,仅支持以ROLE_,3个特殊标记IS_AUTHENTICATED_FULLYIS_AUTHENTICATED_REMEMBEREDIS_AUTHENTICATED_ANONYMOUSLY以及SpEL表达式开头的角色。但是您可以从SpEL表达式中调用Spring bean,因此您应该考虑在服务中调用方法并在其中进行工作。语法将使用@符号:

@Secured('@myService.doTheAdminChecks()')

而且该实现可能非常复杂,并且可以从 Config.groovy和/或属性文件中读取信息,但是带注释的代码不会因安全性问题而混乱。

另一种选择是在注释中使用闭包。这是一个新功能,在 @Secured part of the What's New section中进行了描述。

关于grails - 有没有一种方法可以在Spring Security插件的属性文件中定义角色,而不是对其进行硬编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27349605/

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