权限管理模块设计.doc_第1页
权限管理模块设计.doc_第2页
权限管理模块设计.doc_第3页
权限管理模块设计.doc_第4页
权限管理模块设计.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

权限管理模块设计说明书权限管理模块设计说明书摘要权限管理分为两个部分,操作权限管理和资源权限管理。针对我们的系统,分别进行说明。 一、操作权限管理即为允许用户使用那些功能,进行哪些操作。有两个地方需要处理,1、 对用户隐藏没有授权的功能。如 “LOG管理”功能没有对用户A授权,则用户A是看不见“LOG管理”这个功能菜单的。2、 在功能所在的页面进行权限验证,防止没有授权的用户通过输入URL进入功能所在页面。如 “LOG管理”功能没有对用户A授权,则用户A是即使是手动输入“LOG管理”功能所在的页面,他也无法使用这个功能。在实现方式上可以通过”角色”和”功能”来实现,一个”角色”对应多个”功能”,”用户”与”角色”是多对多的关系。当用户登录时通过 (用户-角色-功能)查询出该用户可以使用的功能列表并显示,无权使用的功能将被隐藏。并且在功能所在页面进行权限验证,避免没有权限的用户通过特殊方法进入页面。二、资源权限管理的意思是限制用户对资源的访问和操作。1、省级的用户可以查看和操作全省的数据。但不能查看和操作外省的数据。2、市级的用户可以查看和操作全市的数据,但不能查看和操作该市以外的数据。3、全国级的用户可以查看和操作全国的数据。目录1概述31.1目的32模块结构描述33模块功能描述33.1权限管理33.1.1功能菜单管理33.1.2用户管理43.1.3角色管理43.2操作权限验证43.2.1登录验证53.2.2页面载入验证63.2.3页面操作权限验证63.3资源权限验证64数据库设计ER图71 概述1.1 目的权限管理模块是为了对系统权限进行管理和验证。2 模块结构描述3 模块功能描述3.1 权限管理 3.1.1 功能菜单管理 系统的每个功能都要对应一个功能菜单,功能菜单管理即是对这些菜单项的增删改查管理。3.1.1.1 查询功能菜单输入:功能名称、功能级别、是否已删除输出:功能名称,父功能名称,功能代码,功能级别,功能页面名称,是否已删除。3.1.1.1.1 查看详细输入:功能菜单编号输出:功能名称,功能描述,功能代码,父功能名称,功能级别,功能页面名称,是否已删除。3.1.1.2 添加功能菜单输入:功能名称,功能代码,功能描述,父功能编号,功能页面名称。输出:返回是否添加成功。3.1.1.3 编辑功能菜单输入:功能名称,功能代码,功能描述,父功能编号,功能页面名称,是否已删除。输出:返回是否修改成功。3.1.1.4 删除功能菜单在编辑功能中实现。将” 是否已删除”修改为”是”。3.1.2 用户管理3.1.2.1 查询用户输入:所属角色名称、所属地区名称、登录名、数否已删除。输出:用户登录名、邮件地址、电话、真实姓名、所属地区名称、是否已删除。3.1.2.1.1 查看详细输入:用户编号输出:用户登录名、邮件地址、电话、真实姓名、所属地区名称、是否已删除,所属角色。3.1.2.2 添加用户输入:登录名、密码、邮件地址、电话、真实姓名、所属地区编号。输出:返回添加是否成功。3.1.2.3 编辑用户3.1.2.3.1 编辑用户信息输入:登录名、密码、邮件地址、电话、真实姓名、所属地区编号。输出:返回是否修改成功。3.1.2.3.2 编辑用户角色信息在编辑功能中实现。一个用户可拥有多个角色。3.1.2.4 删除用户在编辑功能中实现,将” 是否已删除”修改为”是”。3.1.3 角色管理3.1.3.1 查询角色输入: 输出:角色名称、父角色、是否已删除。3.1.3.1.1 查看详细输入:角色编号输出:角色名称、角色描述、角色等级、是否已删除。3.1.3.2 添加角色输入:角色名称、角色描述、角色等级。输出:返回是否添加成功。3.1.3.3 编辑角色输入:角色名称、角色描述、角色等级、是否已删除。输出:返回是否修改成功。3.1.3.4 删除角色在编辑功能中实现,将” 是否已删除”修改为”是”。3.2 操作权限验证将权限相关的逻辑封装到一个类中,以利于复用,如下面的类图所示:Login函数通过(用户-角色-功能) 取出用户所对应的角色列表List和功能列表List,然后给给Functions和Roles属性赋值(Roles= List)(Functions= List)。3.2.1 登录验证在用户登录时,调用PermManager.Login,然后从PermManager.Functions属性中取出用户所对应的功能菜单列表List,将List中存在的功能对用户显示,不存在的不显示。代码改动:需要改动登录页面。3.2.2 页面载入验证在功能所在的页面进行权限验证,防止没有授权的用户通过输入URL进入功能所在页面。 在功能所在页面加载的时候从PermManager.Functions中取出List,并判断List中是否存在某项(功能.功能页面名称=当前页面名称),如果存在就说明有权限,反之则没权限,并跳转到首页。但是在所有页面都进行判断的话,会将权限验证逻辑代码扩散到很多页面,造成大量重复的逻辑代码,将来不好维护。解决方式是新建基类页面PageBaseNeedPerm继承自System.Windows.Controls.page,并将所有功能页面改为继承自PageBaseNeedPerm,然后将权限验证逻辑封装到页面基类中,在基类加载时进行权限验证,这样所有的功能页面就会自动进行权限验证了。代码改动:需要增加页面基类PageBaseNeedPerm,需要将所有功能页面改为继承PageBaseNeedPerm。3.2.3 页面操作权限验证具有全部权限的角色可以使用页面中得增删改查全部功能,只具有查看权限的角色则只能查看数据,不能进行增删改操作。从PermManager. Functions属性中获取用户所拥有的角色列表List,从中找到页面所对应的功能功能1,查出功能1的所有子功能List( List= List.Where(o=o.ParentId=功能1.Id)List即表示增删改查权限。如果List中没有增删改权限,则将增删改按钮隐藏或禁用。代码改动:所有功能页面均需要改动。3.3 资源权限验证用户 操作顺序为:进入系统-选择城市-登录-查看和操作数据。验证方式为:在用户登录时验证,如果该城市的数据库用户表中存在当前用户、并且用户名和密码正确,则登录成功,并允

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论