查看: 2676|回复: 9

[原创] 请教关于权限管理的问题。

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2007-8-22 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在正在做一个系统的权限管理(基于.net平台)。系统要求基于角色的权限控制(RBAC)。我的数据库表设计如下:
1.用户表(User)
2.角色表(Role)
3.权限表(Permission)
4,用户角色关系表(UserRole)
5.角色权限关系表(RolePermission)


我现在遇到的问题是在程序中给角色授权的时候,如何动态的获取要访问的资源,因为系统中的资源有可能是动态改变的。而且能够在验证用户权限的时候降低耦合性。我在网上找了很多资料,都是讲RBAC的原理的,很少有这样的实例(低耦合,高灵活性),请高手不吝赐教,最好有一个简单的例子说明。
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
2#
发表于 2007-8-22 12:15 | 只看该作者
是否考虑在加一个 用户权限表 用户最终的权限是角色加个性权限决定会比较灵活些。

再设置权限完毕的时候 将前后权限对比一下 然后授权增加权限访问的资源 停用减少权限使用的资源。

没有具体的实例 ,这样类似的权限管理看以看看Win2003的用户、组、角色管理模式


使用道具 举报

回复
论坛徽章:
0
3#
 楼主| 发表于 2007-8-24 17:39 | 只看该作者
谢谢你的回复。可能我没说清楚我面临的问题。

现在的权限管理大都可以描述如下,资源,用户,用户在资源上的操作。我们是把用户保存在数据库里,而用户在资源上的操作就那么几种,当然也可以保存在数据库里。问题就出在资源,也把资源保存到数据库里吗?资源是动态变化的,有可能以后会新增模块。

不知道大家是如何处理的。

使用道具 举报

回复
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
4#
发表于 2007-8-27 10:05 | 只看该作者
资源也是保存到数据库里的!
设置权限实际上就是在给数据库中的 用户 资源 操作 建联系的!

使用道具 举报

回复
论坛徽章:
0
5#
 楼主| 发表于 2007-8-27 11:12 | 只看该作者
那我要把系统中所有要控制的资源全都加到数据库中吗?

比如我做一个Asp.Net系统,要控制用户对页面的访问,那我要把每个页面添加到数据库中吗?如果添加新的页面也要增加吗?

除了这个方法,有没有更好的办法?

使用道具 举报

回复
论坛徽章:
53
IT宝贝
日期:2010-11-09 10:49:442013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:352013年新春福章
日期:2013-04-11 16:50:35
6#
发表于 2007-8-27 16:54 | 只看该作者
页面访问的时候设置权限啊..不同权限访问的页面也不一样.

使用道具 举报

回复
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
7#
发表于 2007-8-28 10:18 | 只看该作者
最初由 xb_wang01 发布
[B]那我要把系统中所有要控制的资源全都加到数据库中吗?

比如我做一个Asp.Net系统,要控制用户对页面的访问,那我要把每个页面添加到数据库中吗?如果添加新的页面也要增加吗?

除了这个方法,有没有更好的办法? [/B]

我一般采用的方法是给资源一个编号(同类权限的资源可以是一个编号),然后在权限设计的时候我预留的足够用编号,添加一个资源只不过是再启用一个编号而已,这种方式和上面说的也没有什么本质区别 只是实现的方法不通而已。

使用道具 举报

回复
论坛徽章:
0
8#
 楼主| 发表于 2007-8-28 12:14 | 只看该作者
最初由 mo_yuan_ming 发布
[B]
我一般采用的方法是给资源一个编号(同类权限的资源可以是一个编号),然后在权限设计的时候我预留的足够用编号,添加一个资源只不过是再启用一个编号而已,这种方式和上面说的也没有什么本质区别 只是实现的方法不通而已。

[/B]


我明白你的意思。你的给资源一个编号其实就是给资源一个标识,你会把这个标识添加到数据库中吗?

使用道具 举报

回复
论坛徽章:
105
萤石
日期:2014-04-06 09:24:42天枰座
日期:2015-07-22 11:25:542014年世界杯参赛球队: 阿尔及利亚
日期:2014-07-10 09:12:26马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11
9#
发表于 2007-8-29 10:36 | 只看该作者
参照CSS的代码

资源(包含一个权限连接)

权限(包含角色、操作)

页面验证用户角色。

可能比设置固定编号好一些。

如果要控制到每个用户就需要修改一下。

看看 css的代码应该没有什么疑惑了。

使用道具 举报

回复
论坛徽章:
0
10#
发表于 2007-8-31 11:29 | 只看该作者

可以参考E8.net的权限体系设计

有试用版下载,整个权限管理全是实现好了的. 包括各种权限的实现方式,应用扩展
下载地址: http://www.feifanit.com.cn

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表