创建用户ACL菜单的最佳方法

时间:2017-07-31 13:13:10

标签: java spring spring-mvc spring-security

我有一个使用Spring 4的webapp,带有一些菜单和子菜单。

-Menu 1
  -sub menu 1
  -sub menu 2
-Menu 2
  -sub menu 1
  -sub menu 2

我想管理用户权限(读/写访问权限)。 用户acl和整个菜单可在应用仪表板中编辑。

例如,我可以创建一个新菜单,并允许所有用户或仅访问某些用户。

问题是我有一些Ajax控制器。例如,要在读取中访问子菜单1,它将是/ subMenu1并且为同一个子菜单1写入有3个ajax控制器:/ action1,/ action2,/ action3。

如果我提供对subModule 1的写访问权限,我必须提供对3 ajax控制器的访问权。

这是我要采取的方法: 在DB中为所有控制器创建表。以下是action1的示例。

controller [id=1, name=action1, mapping=/action1, access_type=write]

然后,对于每个控制器,我为userId和controller id创建另一个表。如果用户在执行操作之前具有读/写访问权限,我将只需要检查每个控制器。

我会在过滤器中检查这个,所以在我到达控制器之前。

这是一个好方法吗?我应该用一个更好的吗?

0 个答案:

没有答案