我将我的权限存储在通配符字符串格式中,例如(菜单:仪表板,报告:首先等)。我有一个单独的报告表,用于存储所有报告及其属性。但报告和权限表之间没有外键关系。 (如果我以关系方式存储权限,可以这样做)
现在我必须检索用户有权在UI上显示的所有报告。 一种方法是查询所有报告,然后根据主题的允许权限进行过滤。但我只想知道最佳实践,该小组中的其他人如何处理这种情况。
编辑
任何人对此有任何意见,或者他们是否可以分享他们如何管理权限。 谢谢
答案 0 :(得分:0)
它更好而不是存储菜单:仪表板,报告:首先在数据库中存储个人权限,以便轻松查询它们,以及万一你必须实现像hasanypermission(p1,p2 ...)这样的逻辑它不会胡作非为。
我将所有权限存储在表mstpermission中,该表具有系统可能的应用程序提示 和 将角色映射到权限的appermission
MSTPERMISSION
PERMID VARCHAR2(20 )
STATUS NUMBER(1,0)
PERMDESC VARCHAR2(100)
有像
这样的数据* 1 All Permissions
entry 1 All Entries
entry:create 1 Create Entries
entry:edit 1 Edit/Delete Entries
reports 1 All Reports
reports:dashboard 1 DashBoard
reports:general 1 General Report
APPPERMISSION
PERMID VARCHAR2(20 BYTE)
ROLEID VARCHAR2(3 BYTE)
有
之类的条目* 00
entry:create 01
entry:edit 01
reports:general 01
appt 02
entry:edit 02
reports:general 02