版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 网络管理系统-权限管理TOC o 1-5 h z HYPERLINK l bookmark2权限描述2 HYPERLINK l bookmark4为什么要有权限管理2 HYPERLINK l bookmark6本项目中的权限管理2 HYPERLINK l bookmark8权限设计2 HYPERLINK l bookmark10名词解释:2 HYPERLINK l bookmark12权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限2 HYPERLINK l bookmark16数据库结构设计3 HYPERLINK l bookmark18权限执行步骤3 HYPERLINK l
2、bookmark20MSDN说明:ASP.NET母版页和内容页中的事件3 HYPERLINK l bookmark22项目步骤说明4 HYPERLINK l bookmark40权限代码实现4第一步:检测登陆和合法Url(BaseMasterPage)4第二步:加载资源和功能菜单加载(MasterPage)6第三步:将资源转化为属性,和错误记录(BasePage)7第四步,第五步:页面初始化数据,进行绑定(资源管理EditNodeInfo.aspx为例)(Page):8 权限描述为什么要有权限管理权限管理是Web应用项目中比较关键的环节,因为浏览器是每一台计算机都已具备的,如果不建立权限管理系
3、统,那么一个“非法用户”可以轻而易举通过浏览器访问Web应用项目中的所有功能,资源。因此需要权限管理系统进行权限检测,让经过授权的用户可以正常合法的使用已授权的功能,资源,而对那些未授权的非法用户拒之门外。本项目中的权限管理本项目中的权限管理总的可以分为功能管理和资源管理。在这里我定义了以下关系:权限=功能+资源,在后续出现的权限均指代的是功能+资源功能管理中的功能体现到本系统中就是对应一个网页(url),或网页中的一个按钮资源管理中的资源就是本系统中需要用权限约束的资源对象,包括链路、节点、设备,事务等信息。权限设计名词解释:SystemUsers:系统用户,使用功能,资源的平台用户。Gro
4、ups:用户组,功能,资源分配的单位与载体。权限不考虑分配给特定的用户而给组。Roles:角色,一定数量的功能的集合。功能分配的单位与载体,目的是隔离系统用户(SystemUsers)与权限功能(FunUrI)的逻辑关系.权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限创建权限:分两步,1创建功能;2创建资源创建功能:Creator创造功能,Creator在设计和实现系统时会分析,一个子系统或称为模块,应该有哪些功能,然后将这些功能注册到相应系统模块中,这里实现就是对Url分别注册到FunUrl中创建资源:Creator创造资源,Creator在设计和实现系统时会分析系统中需要被约
5、束的资源有哪些,然后针对每一种资源,都建立一个组,资源关系表。分配权限:分两步,1功能分配;2资源分配a.功能分配:Administrator创建角色,创建用户组,给用户组分配用户,将用户组与角色关联,然后Administrator将功能与角色建立关联关系。这样就可以达到功能分配,这些操作都由Administrator来完成的。b资源分配:Administrator利用组,资源关系表,然后将组和各种资源分别建立关联关系,这样就可以达到资源分配3)使用权限:SystemUsers使用Administrator分配给的权限去使用各个子系统。数据库结构设计权限执行步骤MSDN说明:ASP.NET母版
6、页和内容页中的事件母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。在某些情况下,内容页和母版页中会引发相同的事件。例如,两者都引发nit和Load事件。引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的控件引发。请记住,母版页会合并到内容页中并被视为内容页中的一个控件,这一点十分有用。下面是母版页与内容页合并后事件的发生顺序:1.母版页控件Init事件。2.内容控
7、件Init事件。3.母版页Init事件。4.内容页Init事件。5.内容页Load事件。6.母版页Load事件。7.内容控件Load事件。8.内容页PreRender事件。9.母版页PreRender事件。10.母版页控件PreRender事件11.内容控件PreRender事件。母版页和内容页中的事件顺序对于页面开发人员并不重要。但是,如果您创建的事件处理程序取决于某些事件的可用性,那么您将发现,了解母版页和内容页中的事件顺序很有帮助。项目步骤说明BaseMasterPageinit()一级验证(登陆,功能url)MasterPageinit()二级验证(功能加载,数据加载)BasePage
8、init()将加载的数据重新整理为属性,错误日志记录Pageinit()页面中的初始化PageLoad()说明:页面开始执行时,1.先调用MasterPageInit(),而MasterPageInit()在调用BaseMasterPageInit().调用PageInit(),而PageInit()在调用BasePageInit()pageload()这样就形成了上面的五步的验证顺序权限代码实现第一步:检测登陆和合法Url(BaseMasterPage)protectedvoidvalidate()Stringroot=ResolveUrl();root=root.Substring(0,r
9、oot.Length-1);/获得网站主目录if(object.Equals(null,SessionSessionKeys.UserId)/登陆检测stopCache();Response.Write(scriptalert(对不起!你没有登录系统或登录超时,请重新登录);top.location.href=./Login.aspx;);else/功能检测stringurl=Request.AppRelativeCurrentExecutionFilePath.TrimStart();IListfunList=FunctionAgent.GetFunIdByUrl(url);if(funLi
10、st.Count=0)/检测到功能(Url)不存在,给予提示Response.Write(scriptalert(系统中没有添加此页面!);top.location.href=+root+SessionSessionKeys.CurrentUrl.ToString()+;);Response.End();elseboolstatus=false;foreach(FunurlInfofinfunList)IListRolesId=SessionSessionKeys.RolesIdasIList;/获得角色if(RolesId!=null)/检测是否有访问的权限status=FunctionAg
11、ent.EqualByRoleIdAndFunId(RolesId,f.Funid.ToString();if(status)break;/如果存在就进入访问if(!status&SessionSessionKeys.CurrentUrl!=null)/没有权限就不能进入Response.Writescriptalert(您没有访问此页面的权限!);top.location.href=+root+SessionSessionKeys.CurrentUrl.ToString()+;);elseif(SessionSessionKeys.CurrentUrl=null)Response.Redir
12、ect(/Login.aspx);elseSessionSessionKeys.CurrentUrl=url;/将当前页面记录下来第二步:加载资源和功能菜单加载(MasterPage)功能菜单加载:其中TreeControl为用户控件:privatevoidBindTree()DataSettreeDataSet=null;IListroleld=SessionSessionKeys.RolesIdasIList;/获得角色if(roleId!=null)if(object.Equals(SessionMoudleName,null)SessionMoudleName=FunctionAgen
13、t.Get2MenuFunList(roleId,FunId.ToString();treeDataSet=SessionMoudleNameasDataSet;if(treeDataSet!=null)addNodes(tv2Menu.Nodes,treeDataSet,FunId);privatevoidaddNodes(TreeNodeCollectioncollection,DataSettreeDataSet,intparentNodeID)DataRowrows=treeDataSet.TablesmenuDataTable.Select(paranetFunId=+parentN
14、odeID);/查找当前结点的所有子结点foreach(DataRowrowinrows)/新建一个临时结点TreeNodenode=newTreeNode();node.Value=rowfunId.ToString();node.Text=rowurlName.ToString();node.NavigateUrl=rowurl.ToString();stringpid=rowurl.ToString();node.Expanded=true;/默认为展开/递归加入当前结点的子结点addNodes(node.ChildNodes,treeDataSet,int.Parse(rowfunId
15、.ToString();collection.Add(node);/加入到结点集合中加载资源:protectedoverridevoidOnInit(EventArgse)base.OnInit(e);if(object.Equals(SessionSessionKeys.NodesId,null)IListgroupsId=SessionSessionKeys.GroupsIdasIList;if(groupsId!=null)SessionSessionKeys.NodesId=ResourceAgent.GetNodeldsByGroupIds(groupsId);/初始化节点资源Ses
16、sionSessionKeys.LinksId=ResourceAgent.GetLinkldsByGroupIds(groupsId);/初始化链路资源SessionSessionKeys.EquipmentsId=ResourceAgent.GetEquipmentldsByGroupIds(groupsId);/初始化设备资源SessionSessionKeys.PortsId=ResourceAgent.GetPortldsByGroupIds(groupsId);/初始化端口资源(BasePage)protectedoverridevoidOnInit(EventArgse)User
17、Id=GetFromSession(SessionKeys.UserId)asstring;NodesId=GetFromSession(SessionKeys.NodesId)asIList;LinksId=GetFromSession(SessionKeys.LinksId)asIList;EquipmentsId=GetFromSession(SessionKeys.EquipmentsId)asIList;PortsId=GetFromSession(SessionKeys.PortsId)asIList;TransTypeIds=GetFromSession(SessionKeys.
18、TransTypeIds)asIList;PageName=Request.RawUrl;UserIp=Request.UserHostAddress.ToString();base.OnInit(e);protectedvirtualvoidShowMessage(DcExceptiondex)/错误处理dex.UserId=UserId;dex.PageName=PageName;dex.UserIp=UserIp;if(string.IsNullOrEmpty(dex.Msg)dex.Msg=dex.Message;if(dex.ErrorType=MessageType.Warning)ShowMessage(dex.Msg);elseif(dex.Msg.Equals(正在中止线程。)|dex.Msg.Equals(Threadwasbeingaborted.)return;Log.Error(dex.ToString();/记录错误信息/迁移到错误页面stringerrPageUrl=Co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河道护岸挡墙施工方案(3篇)
- 经典文言篇目综合快速提升试卷
- 净化车间墙体施工方案(3篇)
- 发生急产应急预案(3篇)
- 镇江楼面加固施工方案(3篇)
- 网络设备安全评估体系
- 深孔刮滚切削机理剖析与刀具结构的创新优化设计
- 深厚软土地基沉拔钢护筒的力学机理与工程应用研究
- 深亚波长光栅结构:相位调控器件模型的理论与应用研究
- 淮北采煤沉陷区土壤环境特征剖析:重金属与微生物的生态关联研究
- 2026年西安中体实业有限公司招聘(4人)建设考试参考题库及答案解析
- TSG 08-2026 特种设备使用管理规则
- 2026年生态环境法规的国际比较
- 2026年广西壮族自治区南宁市重点学校小升初语文考试真题试卷+解析及答案
- GJB3243A-2021电子元器件表面安装要求
- 高中家长会 家校合作,共赢高考课件-高三下学期二模分析家长会
- 辅导员转正述职报告
- 景区旅游安全风险评估报告
- 测量承包合同范本版
- 贵州省黔东南苗族侗族自治州2023-2024学年五年级下学期期末数学模拟测试卷
- DL-T 1476-2023 电力安全工器具预防性试验规程
评论
0/150
提交评论