正如标题所说,我需要在其中创建一个动态menu stored
树,并且计划在其上放置一个接口。现在我需要根据市场上适合此要求的产品 database
来决定如何实现。Access Control Layer
我在我的项目中大量使用Spring IoC
,spring mvc
等等hibernate
。我以前用过apache shiro
,还不错。只是社区还很年轻,所以关于 shiro 的问题需要时间才能有贡献,而且没有大量的文档。
无论如何,我仍在计划使用shiro
,因为我有我没有的经验spring security
。现在第一个问题应该是,将 ACL 绑定到菜单系统|导航系统是个好主意。如果有人可以,我会很高兴分享他的经验。
所以在我的脑海中users
,roles
我想到了这个模型,,,,,,rights
users_rights
roles_users
roles_rights
users //contains creds and user detail
roles //contains roles
rights // contains rights (including menu entries matching rights, if i have to tie them)
roles_users //many-to-many roles-users with extra columns mapped as entity
roles_rights // many-to-many roles-rights with extra columns mapped as entity
users_rights //many-to-many users-rights mapped as entity with extra columns. special rights for user and overwrite the overall rights given by roles. can deny rights given by a role or add rights not inside any roles
所以在权利表中我可以喜欢:
id
name // in the form of admin:users:list
description
menu_name // unique name what shows on page
menu_url
唯一的问题是我如何处理子菜单?自我多对多权利?最后,一切都变得如此复杂。所以我想有其他的观点、见解和建议。谢谢