OA系统权限管理设计(asp.net c#)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OA系统权限管理设计(asp.net c#)相关的知识,希望对你有一定的参考价值。

设计了个
用户权限表tb_authority以下是字段:
UserID
UsergroupID 工作组ID
ModuleCode 模块
ActionCode 操作

ActionCode代表相应的操作组合:访问用01表示,添加用02表示,删除用03表示,修改用04表示,如果是模块即可以访问又可以添加用01_02表示,可以访问又添加又删除用01_02_03表示
如实现工作信息(001)可以查看,添加功能
使用checkbox来选择是否有权限
使用checkbox1,勾选代表可以访问,checkbox2勾选代表可以添加,checkbox3勾选代表可以删除,checkbox4勾选代表可以修改
1.我勾选checkbox1和checkbox2,希望可以01,02用(_)符号连接起来01_02插入ActionCode字段中,这个该如何实现??
2.当我们对这个权限进行更改,打开页面时如何通过把01_02分开,分开为01,02,相应的checkbox1和checkbox2勾选起来

这样可以实现但复杂,后期维护也不方便,看我如何解决。 二进制思路
1 访问 2 添加 4 删除 8 修改
0001 0010 0100 1000
那么他们的组合 就是 1111 0111 0011 1110 1101 1001 等 十进制 1到15
如果 有访问权限 添加权限 就 保存 3 1+ 2 得到的
页面加载读取出来后 将3 转二进制 得到 11 表示前两项被选择
不知道可有帮助。追问

能详细点写出来看看,或者有没有现成资料可以发到我邮箱里devil11223344@126.com
如果这种我想把这个和ModuleCode 模块 连接起来用该如何做
ModuleCode:如 001表用户管理模块 002表工作信息管理模块 003示会议信息模块
004示项目管理模块 005表人事管理模块
我希望实现001_01_02 对用户管理模块访问和添加 002_01_02对工作信息管理模块管理和添加这个该怎么做,没有思路?

追答

你问的很靠谱,我就是为解决这样问题,整理的这套思路。 其实你可以自己定义规则,举例子说明 前4位 保存模块信息 0000 在加4位保存功能权限(访问,添加,删除,修改) 0000 在加4位保存数据权限 0000 连接到一起 OK 那么你想 ModuleCode 或其他 都可以由你的 权限加载PART 完成。 4位可以管理15个模块 15个功能权限 15个数据权限 不够可以扩大到8位.模块可以不使用这种方式 单独保存编号

追问

前4位 保存模块信息 0000 在加4位保存功能权限(访问,添加,删除,修改) 0000 在加4位保存数据权限 0000 连接到一起??
如果增加一个数据范围:002工作信息模块,我希望对办公室组的工作信息数据有添加,删除,修改,访问权限,且对摄制组的工作信息数据同时也有访问权限,如果变成这样数据库表该如何设置,如何 保存?这个让我很困扰啊,你能具体的写一下吗

追答

没有理解你的意思,功能权限(添加 删除 修改 等)和数据权限(应该看到那一部分数据,不应该看到那一部分数据)要分开做。 数据权限控制可以这样做,其实就是部门对应关系。
部门 -------对应-------角色(组) ---------对应------------表单 角色包含用户
某一用户登录获取角色 根据上面角色对应关系产生已授权部门机构树 再更据上面对应关系由机构树控制表单
物理表设计非常简单 部门ID 角色ID 表单ID 思路就是这样,在套我上面的二进制,建议你找个c# 案例讲解的书看下权限控制. 我这样说细节你不一定明白,希望对你有帮助。

追问

你这个思路很好,数据库这个我已经没有问题了,只是在具体代码方面很难处理!你能推荐一下什么好的 C#案例有权限控制的书吗?

追答

走火入魔通用权限管理 学习下这个吧

参考技术A //添加时:

string ActionCode ="";
System.Collections.ArrayList list = new System.Collections.ArrayList();
//勾选checkbox1
list.Add("01");
//勾选checkbox2
list.Add("02");
...
//勾选checkboxN
list.Add("0N");
for(int i = 0;i<list.Count;i++)

if(i < (list.Count-1))

ActionCode += "_";

ActionCode += list[i].ToString();


//此处即得到想要的字符串ActionCode

//修改读取时:
string ActionCode ="01_02_03_04";
string[] list = ActionCode.Split('_');
checkbox1.Value = list[0];
checkbox2.Value = list[1];
checkbox3.Value = list[2];
checkbox4.Value = list[3];
参考技术B 遍历checkbox 选中则 拼起来
StringBuilder sb=new StringBuilder ();
if(checkbox1.checked)
sb.Append("01");
if(checkbox2.checked)
sb.Append("_02");
//....
string actioncode=sb.ToString();
//保存...
//下面自动打钩
string[] arr = actioncode.Split('_');
//循环
如果有01 则checkbox1.checked=true
...追问

如果这种我想把这个和ModuleCode 模块 连接起来用该如何做
ModuleCode:如 001表用户管理模块 002表工作信息管理模块 003示会议信息模块
004示项目管理模块 005表人事管理模块
我希望实现001_01_02 对用户管理模块访问和添加 002_01_02对工作信息管理模块管理和添加这个该怎么做,没有思路?

追答

那肯定要在ActionCode 表里加一个字段用来存储ModuleCode ,以便知道是那个模块的权限

追问

你能具体的写一下看看嘛

追答

你保存权限的时候把ModuleCode一起存
查询的时候根据ModuleCode 查就知道它有哪些权限了

追问

明白了,你的意思是在ActionCode 中把ModuleCode 一起保存在里面也用_连接起来是吧?
还有没有更简单的方法

计算机毕业设计基于asp.net网上考试报名系统

网上考试报名系统包括登录模块、网上报名模块、留言板模块、信息管理模块。该系统采用了C#开发技术,使用asp.net技术进行动态页面设计,将vs2010作为开发工具,选用sqlserver数据库进行数据管理,操作方便,可维护性强。

本系统主要实现以下功能:
1.网上报名系统实现用户的在线报名,查看审核状态,删除错误信息。
2.网上报名系统可以查看自己的留言、查看他人的回复等。
3.在后台实现管理报名者的信息,留言板信息,审核报名等。
本系统是网上考试的网上报名系统,主要包括用户部分和管理员部分。用户部分主要是学生报名及留言,管理员部分是对信息的管理,具体内容如下:
针对系统管理员:
1.管理员密码的修改
2.对学生用户审核和管理。
3.查看学生信息的审核状态。
4.网站留言信息管理和回复。
针对报名用户:
1.浏览报名须知。
2.添加报名信息。
3.通过身份证号码查看自己的报名状态。
4.添加留言信息。

目 录
摘 要 I
Abstract II
1 引言 1
1.1 项目开发的背景 1
1.2 项目开发的目的 1
2 可行性分析及总体设计原则 3
2.1 可行性分析 3
2.1.1 技术可行性 3
2.1.2 经济可行性 3
2.1.3 社会可行性 3
2.2 总体设计原则 4
3 系统分析 5
3.1 业务流程分析 5
3.2 数据流图 6
3.3 数据字典 8
4 系统设计 11
4.1 系统功能设计 11
4.2 系统数据库设计 12
4.2.1 概念结构设计 12
4.1.2 数据库表设计 17
4.3 系统开发工具与开发模式的选择 20
4.3.1 系统开发工具 20
4.3.2 系统设计模式 24
5 系统实现 25
5.1 系统前台模块 25
5.1.1 注册管理模块 25
5.1.2 系统首界面 26
5.1.3 站内新闻界面 27
5.1.4 成绩查询界面 28
5.1.5 系统简介界面 29
5.2 系统后台模块 30
5.2.1 后台登录界面 30
5.2.2 系统用户管理界面 31
5.2.3 站内新闻管理界面 32
5.2.4报名考生管理界面 33
5.2.5 成绩管理界面 33
5.2.6 系统用户管理界面 34
5.2.7 考试科目管理界面 34
6 性能测试与分析 36
6.1 系统测试的定义 36
6.2 系统测试的目的及意义 36
6.3 系统测试的重要性 36
6.4 测试测试常用的方法 37
6.5 系统运行情况 38
6.6 系统测试结果 38
结 论 39
参 考 文 献 40
致 谢 41

以上是关于OA系统权限管理设计(asp.net c#)的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 系列:RBAC权限设计

ASP.NET权限管理系统的系统优点

ASP.NET MVC通用权限管理系统源代码开源发布(AngelRM_MVC)v2.1

OA 办公自动化系统:权限管理模块的实现原理思路

ASP.NET如何制作后台权限管理

权限系统设计详解