权限设计功能权限数据权限

上传人:夏** 文档编号:473570073 上传时间:2023-06-20 格式:DOC 页数:9 大小:80.01KB
返回 下载 相关 举报
权限设计功能权限数据权限_第1页
第1页 / 共9页
权限设计功能权限数据权限_第2页
第2页 / 共9页
权限设计功能权限数据权限_第3页
第3页 / 共9页
权限设计功能权限数据权限_第4页
第4页 / 共9页
权限设计功能权限数据权限_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《权限设计功能权限数据权限》由会员分享,可在线阅读,更多相关《权限设计功能权限数据权限(9页珍藏版)》请在金锄头文库上搜索。

1、网络管理系统-权限管理权限描述1为什么要有权限管理1本项目中的权限管理1权限设计2名词解释:2权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限2数据库结构设计3权限执行步骤3MSDN说明:ASP.NET 母版页和内容页中的事件3项目步骤说明4权限代码实现4第一步:检测登陆和合法Url(BaseMasterPage)4第二步:加载资源和功能菜单加载(MasterPage)6第三步:将资源转化为属性,和错误记录(BasePage)7第四步,第五步:页面初始化数据,进行绑定(资源管理-EditNodeInfo.aspx为例)(Page):8权限描述为什么要有权限管理权限管理是Web应用项

2、目中比较关键的环节,因为浏览器是每一台计算机都已具备的,如果不建立权限管理系统,那么一个“非法用户”可以轻而易举通过浏览器访问Web应用项目中的所有功能,资源。因此需要权限管理系统进行权限检测,让经过授权的用户可以正常合法的使用已授权的功能,资源,而对那些未授权的非法用户拒之门外。本项目中的权限管理本项目中的权限管理总的可以分为功能管理和资源管理。在这里我定义了以下关系:权限=功能+资源,在后续出现的权限均指代的是功能+资源1. 功能管理中的功能体现到本系统中就是对应一个网页(url),或网页中的一个按钮2. 资源管理中的资源就是本系统中需要用权限约束的资源对象,包括链路、节点、设备,事务等信

3、息。权限设计名词解释:a. SystemUsers:系统用户,使用功能,资源的平台用户。b. Groups:用户组,功能,资源分配的单位与载体。权限不考虑分配给特定的用户而给组。c. Roles:角色,一定数量的功能的集合。功能分配的单位与载体,目的是隔离系统用户(SystemUsers)与权限功能(FunUrl)的逻辑关系.权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限1)创建权限:分两步,1创建功能;2创建资源a. 创建功能:Creator 创造 功能, Creator 在设计和实现系统时会分析,一个子系统或称为模块,应该有哪些功能,然后将这些功能注册到相应系统模块中,这里实

4、现就是对Url分别注册到FunUrl中b. 创建资源:Creator 创造 资源,Creator在设计和实现系统时会分析系统中需要被约束的资源有哪些,然后针对每一种资源,都建立一个组,资源关系表。2)分配权限:分两步,1 功能分配;2 资源分配a. 功能分配: Administrator创建角色,创建用户组,给用户组分配用户,将用户组与角色关联,然后Administrator将 功能与角色建立关联关系。这样就可以达到功能分配,这些操作都由 Administrator 来完成的。b.资源分配:Administrator利用组,资源关系表,然后将组和各种资源分别建立关联关系,这样就可以达到资源分配

5、3)使用权限:SystemUsers使用 Administrator 分配给的权限去使用各个子系统。 数据库结构设计权限执行步骤MSDN说明:ASP.NET 母版页和内容页中的事件母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。在某些情况下,内容页和母版页中会引发相同的事件。例如,两者都引发Init和Load事件。引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的

6、控件引发。请记住,母版页会合并到内容页中并被视为内容页中的一个控件,这一点十分有用。下面是母版页与内容页合并后事件的发生顺序:1. 母版页控件Init事件。2. 内容控件Init事件。3. 母版页Init事件。4. 内容页Init事件。5. 内容页Load事件。6. 母版页Load事件。7. 内容控件Load事件。8. 内容页PreRender事件。9. 母版页PreRender事件。10. 母版页控件PreRender事件。11. 内容控件PreRender事件。母版页和内容页中的事件顺序对于页面开发人员并不重要。但是,如果您创建的事件处理程序取决于某些事件的可用性,那么您将发现,了解母版页

7、和内容页中的事件顺序很有帮助。项目步骤说明1.BaseMasterPage init()/一级验证(登陆,功能url)2.MasterPage init()/二级验证(功能加载,数据加载)3.BasePage init()/将加载的数据重新整理为属性,错误日志记录4.Page init()/页面中的初始化5.Page Load() 说明:页面开始执行时,1.先调用MasterPage Init(),而MasterPage Init() 在调用BaseMasterPage Init().2.调用Page Init(),而 Page Init()在调用BasePage Init()3.page l

8、oad()这样就形成了上面的五步的验证顺序权限代码实现第一步:检测登陆和合法Url(BaseMasterPage)protected void validate() String root = ResolveUrl(); root = root.Substring(0, root.Length - 1);/获得网站主目录 if (object.Equals(null, SessionSessionKeys.UserId)/登陆检测 stopCache(); Response.Write(alert(对不起!你没有登录系统或登录超时,请重新登录);top.location.href=./Logi

9、n.aspx;); else /功能检测 string url = Request.AppRelativeCurrentExecutionFilePath.TrimStart(); IList funList = FunctionAgent.GetFunIdByUrl(url); if (funList.Count = 0) /检测到功能(Url)不存在,给予提示 Response.Write(alert(系统中没有添加此页面!);top.location.href= + root + SessionSessionKeys.CurrentUrl.ToString() + ;); Respons

10、e.End(); else bool status = false; foreach (FunurlInfo f in funList) IList RolesId = SessionSessionKeys.RolesId as IList;/获得角色 if (RolesId != null) /检测是否有访问的权限 status = FunctionAgent.EqualByRoleIdAndFunId(RolesId, f.Funid.ToString(); if (status) break;/如果存在就进入访问 if (!status & SessionSessionKeys.Curr

11、entUrl != null) /没有权限就不能进入 Response.Write(alert(您没有访问此页面的权限!);top.location.href= + root + SessionSessionKeys.CurrentUrl.ToString() + ;); else if (SessionSessionKeys.CurrentUrl = null) Response.Redirect(/Login.aspx); else SessionSessionKeys.CurrentUrl = url;/将当前页面记录下来 第二步:加载资源和功能菜单加载(MasterPage)功能菜单加载:其中TreeControl为用户控件:private void BindTree() DataSet treeDataSet = null; IList roleId = SessionSessionKeys.RolesId as IList;/获得角色 if (roleId != null) if (object.Equals(SessionMoudleName, null) SessionMoudleName = FunctionAgent.Get2MenuFunList(roleId, FunId.ToString();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 机械/模具设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号