首页 新闻 赞助 找找看

询问 权限设计,找寻最佳解决方案灵感

0
悬赏园豆:20 [已关闭问题]

一般基于角色的权限,来生成用户拥有的菜单目录,这是惯常做法,现在需要把权限粒度深化到 添加、修改、删除、浏览,即某一个当前登录用户,加载了他能操作的权限菜单。

我先贴点代码,大家便晓得:

Select FunID, FunName, ParentID, PageUrl
From dbo.Functions

Select RoleFunID, RoleID, FunctionsID
From dbo.RoleFuns

Select RoleID, RoleName
From dbo.Roles

Select UserID, LoginID, LoginPwd, UserName, RoleID
From dbo.Users

select * from Functions a inner join RoleFuns b
             
On a.FunID = b.FunctionsID
             
Where b.RoleID = 2

之后,还要对他操作的页面添加控制,有的页面只有浏览、添加,有的页面只有添加、修改,但不给删除,这种细化 大家觉得能在以上基础进行扩展吗?我是WinForm程序!  

 

罗霄(Sto)的主页 罗霄(Sto) | 初学一级 | 园豆:182
提问于:2010-01-07 15:18
< >
分享
其他回答(3)
0

建议添加一张表,用于存储功能模块,与操作功能表(即定议的添加,删除,修改)关联起来,这样就可以赋于一个角色在某一模块只有相应(添加,删除,修改就可以灵活配置)的功能。

学而思,不进则退 | 园豆:419 (菜鸟二级) | 2010-01-07 16:50
0

一般我的做法是设计这些表(栏目表,权限表,角色表,用户表)

权限表(权限ID,权限名,父权限ID,深度,权限易记代码,栏目ID(为可空))。加栏目ID这样做是把权限与栏目关联起来,这样用户登录时直接生成他拥有的权限。做成树状是为了易于管理,可以清楚的知道每一个模块底下拥有的权限。然后在WINDOWS把权限易记代码与每个功能权限相关联起来这样就行了。。

阿松 | 园豆:601 (小虾三级) | 2010-01-10 23:47
0

根据你的要求和程序是winfrom,既然你要求权限,那就需要一个安全问题,建议使用AD方式管理用户的角色和权限。需要你做一个安全管理分配权限的功能,通过参数id来给登陆的用户权限。

Jackey_shao | 园豆:225 (菜鸟二级) | 2010-01-15 17:35
0

呵呵,我也想知道权限怎么做!

请问这样的权限控制要怎么做
agen | 园豆:145 (初学一级) | 2010-10-09 22:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册