有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java死锁2:完全用DB设置控制限制

埃卢

我想或者更确切地说,需要通过数据库设置来控制一些操作和控制器的限制,哪种方法是做这项工作的最佳方式

我的目标是:我需要创建一个解决方案,其中将有很多用户组(存储在数据库中),它们将是完全动态的(创建并从管理面板中删除)。权限应该继承给子组,所以如果用户有角色EditorsChief,他也可以执行允许所有Editor的操作。我不能仅仅用@Restrict({"EditorsChief", "Editor"})注释action/controller,因为它们不存在(应该是通过管理面板动态创建的)

我的第一个想法是使用@Dynamic控制器和分组限制,使用单独的处理程序,当然需要硬编码其中一些。这还不算太糟——只要稍加注意,就可以设置很好的模式(即通过使用约定命名处理程序:handlerControllerActionhandlerControllerOtherAction

你的想法是什么?我走的方向好吗


共 (1) 个答案

  1. # 1 楼答案

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

    在管理面板中,您可以将这些名称与组、角色或任何内容关联,并基于这些名称执行控制。在我看来,这将是DB中一对多的关系

    如果我需要更完整地解释,请告诉我

    史蒂夫(Deadbolt的作者)