gpt4 book ai didi

java - Deadbolt 2 : Controlling restrictions with DB settings, 完全

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:33:39 24 4
gpt4 key购买 nike

你好

我想要或者更确切地说需要通过数据库设置来控制对某些操作和 Controller 的限制,这是完成此类工作的最佳方式?

我的目标是什么:我需要创建解决方案,其中将有很多用户组(存储在数据库中)并且它们将是完全动态的(从管理面板创建和删除)。权限应继承给子组,因此如果用户具有 EditorsChief 角色,他还可以执行允许所有 Editor 执行的操作。我不能只用 @Restrict({"EditorsChief", "Editor"}) 注释 Action / Controller ,因为它们不存在(应该使用管理面板即时创建)。

我的第一个想法是使用@Dynamic Controller 并分组 具有单独处理程序的限制,这当然需要硬编码 其中一些。这不是很糟糕 - 有一些注意可以设置非常好的模式,(即通过使用约定命名处理程序:handlerControllerActionhandlerControllerOtherAction ...

你有什么想法?我正朝着好的方向前进吗?

最佳答案

执行此 IMO 的最佳方法是使用 Dynamic 注释,并为每个注释指定一个描述方法功能的不同名称。由于代码中的注释方法数量有限,因此您可以将这些名称存储在数据库中(可能缓存它们,如上所述,以提高性能)。

在管理面板中,您可以将这些名称与组、角色等相关联,并根据这些名称进行控制。在我的脑海中,这将是数据库中的一对多关系。

如果我需要更完整地解释这一点,请告诉我。

史蒂夫(Deadbolt 的作者)

关于java - Deadbolt 2 : Controlling restrictions with DB settings, 完全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760220/

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