权限设计=功能权限+数据权限 下载本文

内容发布更新时间 : 2024/11/9 9:46:30星期一 下面是文章的全部内容请认真阅读。

网络管理系统-权限管理

权限描述........................................................................................................................................... 2

为什么要有权限管理 ....................................................................................................... 2 本项目中的权限管理 ....................................................................................................... 2

权限设计........................................................................................................................................... 2

名词解释: ....................................................................................................................... 2 权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限 ................... 2 数据库结构设计 ............................................................................................................... 3

权限执行步骤 ................................................................................................................................... 3

MSDN说明:ASP.NET 母版页和内容页中的事件 .................................................... 3 项目步骤说明 ................................................................................................................... 4

权限代码实现 ................................................................................................................................... 4

第一步:检测登陆和合法Url(BaseMasterPage) ...................................................... 4 第二步:加载资源和功能菜单加载(MasterPage) ............................................................ 6 第三步:将资源转化为属性,和错误记录(BasePage) ................................................. 7 第四步,第五步:页面初始化数据,进行绑定(资源管理-EditNodeInfo.aspx为例)(Page): ............................................................................................................................ 8

1

权限描述

为什么要有权限管理

权限管理是Web应用项目中比较关键的环节,因为浏览器是每一台计算机都已具备的,如果不建立权限管理系统,那么一个“非法用户”可以轻而易举通过浏览器访问Web应用项目中的所有功能,资源。因此需要权限管理系统进行权限检测,让经过授权的用户可以正常合法的使用已授权的功能,资源,而对那些未授权的非法用户拒之门外。

本项目中的权限管理

本项目中的权限管理总的可以分为功能管理和资源管理。在这里我定义了以下关系: 权限=功能+资源,在后续出现的权限均指代的是功能+资源

1. 功能管理中的功能体现到本系统中就是对应一个网页(url),或网页中的一个按钮 2. 资源管理中的资源就是本系统中需要用权限约束的资源对象,包括链路、节点、设

备,事务等信息。

权限设计

名词解释:

a. SystemUsers:系统用户,使用功能,资源的平台用户。

b. Groups:用户组,功能,资源分配的单位与载体。权限不考虑分配给特定的用户而给

组。

c. Roles:角色,一定数量的功能的集合。功能分配的单位与载体,目的是隔离系统用

户(SystemUsers)与权限功能(FunUrl)的逻辑关系.

权限系统的核心由以下三部分构成:创造权限,分配权限,使用权限

1)创建权限:分两步,1创建功能;2创建资源

a. 创建功能:Creator 创造 功能, Creator 在设计和实现系统时会分析,一个子系

统或称为模块,应该有哪些功能,然后将这些功能注册到相应系统模块中,这里实现就是对Url分别注册到FunUrl中

b. 创建资源:Creator 创造 资源,Creator 在设计和实现系统时会分析系统中需要被

约束的资源有哪些,然后针对每一种资源,都建立一个组,资源关系表。 2)分配权限:分两步,1 功能分配;2 资源分配

a. 功能分配: Administrator创建角色,创建用户组,给用户组分配用户,将用户组

与角色关联,然后Administrator将 功能与角色建立关联关系。这样就可以达到功能分配,这些操作都由 Administrator 来完成的。

2

b.资源分配:Administrator利用组,资源关系表,然后将组和各种资源分别建立关联关

系,这样就可以达到资源分配

3)使用权限:SystemUsers使用 Administrator 分配给的权限去使用各个子系统。

数据库结构设计

角色GERelationGERelationIdEquipmentIdGroupIdRemarkCreateDateDeleteDateFlagintintintnvarchar(Max)datetimedatetimeintRoleIdRoleDesritionRoleAddTimeRemarkDeleteDateFlagRolesintnvarchar(200)datetimentextdatetimeint组,资源关系表1.节点资源2.设备资源3.链路资源4.事务资源GRRelationGRRelationIdGroupIdRoleIdRemarkCreateDateDeleteDateFlagintintintnvarchar(Max)组,角色关系datetimedatetimeint各种资源GTRelationGTRelationIdTransTypeIdGroupIdRemarkCreateDateDeleteDateFlagintintintvarchar(Max)datetimedatetimeintGroupIdGroupDesritionGroupAddTimeRemarkDeleteDateFlag角色,功能关系RoleFun组Groupsintnvarchar(200)datetimentextdatetimeintidRoleIdfunidremarkCreateDateDeleteDateFlagintintintnvarchar(Max)datetimedatetimeintGLRelationGLRelationIdLinkIdGroupIdRemarkCreateDateDeleteDateFlagintintintnvarchar(Max)datetimedatetimeintGNRelationGNRelationIdGroupIdnodeIdremarkCreateDateDeleteDateFlagintintintnvarchar(Max)datetimedatetimeint功能(Url)GURelationGURelationIdUserIdGroupIdRemarkCreateDateDeleteDateFlagintintintnvarchar(Max)datetimedatetimeintfunidurlurlNameparanetFunIddisplayremarkFlagCreateDateDeleteDateFunUrlintvarchar(200)nvarchar(100)intintnvarchar(Max)intdatetimedatetimeUsersUserIdUserNameUserPwdUserAddTimeRemarkRoleIdNodeIdCreateDateDeleteDateFlagintvarchar(50)varchar(50)datetimentextintintdatetimedatetimeint系统用户

权限执行步骤

MSDN说明:ASP.NET 母版页和内容页中的事件

母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。

在某些情况下,内容页和母版页中会引发相同的事件。例如,两者都引发 Init 和 Load 事件。引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的控件引发。请记住,母版页会合并到内容页中并被视为内容页中的一个控件,这一点十分有用。 下面是母版页与内容页合并后事件的发生顺序:

1. 母版页控件 Init 事件。

3