当前位置:编程学习 > C#/ASP.NET >>

权限控制

我编写了一个多用户的程序,需要用到权限管理,在网上也搜过了很多,没有合适的例子可以参考。在此请教一下各位前辈们。
具体情况是这样的:
程序采用C#编写,局域网内使用的,同时使用数据库的。EXE的,不是网页的。
对于不同的用户要求开放不同的权限。
小弟,谢谢各位。 权限 数据库 局域网 --------------------编程问答-------------------- 是操作权限还是数据权限? --------------------编程问答-------------------- 其实你有没有做过学生管理系统呢,老师和学生的权限是不一样的。这样想问题不就解决了吗?按照那样的思想来写就行了。 --------------------编程问答-------------------- 权限和你的程序是C/S还是B/S的有什么关系呢。

有权限,就将按钮或菜单显示出来,没权限就不显示就完了嘛。 --------------------编程问答-------------------- 数据库中需要维护权限信息:
主体信息:用户
客体信息:资源(画面,按钮等)
关系信息:用户与资源的授权关系

然后需要做到:每次访问一个画面的时候需要校验用户是否有权限,也可以登录的时候查询用户所有权限信息(这样就牺牲了实时性)

还需要考虑授权机制,是集中授权(由一个或几个admin给大家授权),还是分级授权(有权限的人可将自身权限授给下面的人)。

你的系统不大,可以简化一下模型,但上面基本的东西肯定是需要的。
--------------------编程问答--------------------
引用 1 楼 scliu1987 的回复:
是操作权限还是数据权限?

是操作权限 --------------------编程问答--------------------
引用 4 楼 davinciyxw 的回复:
数据库中需要维护权限信息:
主体信息:用户
客体信息:资源(画面,按钮等)
关系信息:用户与资源的授权关系

然后需要做到:每次访问一个画面的时候需要校验用户是否有权限,也可以登录的时候查询用户所有权限信息(这样就牺牲了实时性)

还需要考虑授权机制,是集中授权(由一个或几个admin给大家授权),还是分级授权(有权限的人可将自身权限授给下面的人)。

……

我现在是在程序里,把权限给写好,某些人用什么功能。这样权限一改变就需要更新程序了。有没有什么能存在数据库中的方法? --------------------编程问答--------------------
引用 2 楼 sadasasdasd 的回复:
其实你有没有做过学生管理系统呢,老师和学生的权限是不一样的。这样想问题不就解决了吗?按照那样的思想来写就行了。

⊙﹏⊙b汗,还真没有做过学生管理系统。我自己学的,半路出家的。 --------------------编程问答--------------------
引用 7 楼 wuzj8839 的回复:
引用 2 楼 sadasasdasd 的回复:其实你有没有做过学生管理系统呢,老师和学生的权限是不一样的。这样想问题不就解决了吗?按照那样的思想来写就行了。
⊙﹏⊙b汗,还真没有做过学生管理系统。我自己学的,半路出家的。

呵呵,就是有两个表,你判断一下,是学生表里的还是老师表里的,做相应的处理就行,你的权限不过是会员或者非会员,要不就是vip或者非vip,做相应的判断就行。呵呵。 --------------------编程问答--------------------
引用 6 楼 wuzj8839 的回复:
引用 4 楼 davinciyxw 的回复:数据库中需要维护权限信息:
主体信息:用户
客体信息:资源(画面,按钮等)
关系信息:用户与资源的授权关系

然后需要做到:每次访问一个画面的时候需要校验用户是否有权限,也可以登录的时候查询用户所有权限信息(这样就牺牲了实时性)

还需要考虑授权机制,是集中授权(由一个或几个admin给大家授权),还是分级授权(有……

就是要把“什么人有什么权限”存在数据库中啊,你程序中不要写死任何东西,都从数据库中取就对了。 --------------------编程问答-------------------- 其实将权限赋予一个字段,定义成全局的,登录后就知道你的权限是什么。当你进程序或打开新form或页面的时候,判断该字段就行了,是有该权限的就有相应的功能操作,否则就否掉。这里只是针对一个权限而言的,多个的话自然定义多个权限字段。 --------------------编程问答-------------------- 你好,看了你这个问题,可以来了解一下我们的产品(提供全源码的哟),权限控制相当灵活。


=======================================================
.NET快速开发整合框架(RDIFramework.NET),基于.NET的快速开发、整合框架,给用户和开发者最佳的.Net框架部署方案。
平台博客:[CNBLOGS]http://www.cnblogs.com/huyong 
     [CSDN]http://blog.csdn.net/chinahuyong
交流QQ:406590790 (请注明:CSDN)
平台微博:http://t.qq.com/yonghu86
邮件交流:406590790@qq.com
--------------------编程问答-------------------- 楼主可以简单的实现

用户表
权限表
用户权限关系表
--------------------编程问答-------------------- 用户、角色、权限、菜单,全关联起来
用户登陆后获取所属角色的权限就可以得到对应权限的菜单
菜单可以是应用菜单比如打开某个单据界面之类的,也有操作菜单比如增删改
可以用过动态构建控件来添加,可以先在界面中定义后根据权限隐藏 --------------------编程问答-------------------- 用户、角色、权限、菜单,全关联起来 这样权限基本能做到按钮级别,不能具体做到数据级别。 --------------------编程问答-------------------- 权限一般五张表
用户表 角色表 功能表  用户角色表 角色功能表
至于你说什么B/S C/S 权限跟这个有关系么

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,