预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

word权限管理模块设计说明书摘要权限管理分为两个局部,操作权限管理和资源权限管理。针对我们的系统,分别进展说明。一、操作权限管理即为允许用户使用那些功能,进展哪些操作。有两个地方需要处理,1、对用户隐藏没有授权的功能。如“LOG管理〞功能没有对用户A授权,如此用户A是看不见“LOG管理〞这个功能菜单的。2、在功能所在的页面进展权限验证,防止没有授权的用户通过输入URL进入功能所在页面。如“LOG管理〞功能没有对用户A授权,如此用户A是即使是手动输入“LOG管理〞功能所在的页面,他也无法使用这个功能。在实现方式上可以通过〞角色〞和〞功能〞来实现,一个〞角色〞对应多个〞功能〞,〞用户〞与〞角色〞是多对多的关系。当用户登录时通过(用户->角色->功能)查询出该用户可以使用的功能列表并显示,无权使用的功能将被隐藏。并且在功能所在页面进展权限验证,防止没有权限的用户通过特殊方法进入页面。二、资源权限管理的意思是限制用户对资源的访问和操作。1、省级的用户可以查看和操作全省的数据。但不能查看和操作外省的数据。2、市级的用户可以查看和操作全市的数据,但不能查看和操作该市以外的数据。3、全国级的用户可以查看和操作全国的数据。目录1概述2目的22模块结构描述23模块功能描述2权限管理2功能菜单管理2用户管理3角色管理3操作权限验证3登录验证4页面载入验证4页面操作权限验证4资源权限验证54数据库设计ER图51/51概述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删除功能菜单在编辑功能中实现。将〞是否已删除〞修改为〞是〞。2/53.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操作权限验证将权限相关的逻辑封装到一个类中,以利于复用,如下面的类图所示:3/5Login函数通过(用户->角色->功能)取出用户所对应的角色列表List<角色>和功能列表List<功能>,然后给给Functions和Roles属性赋值(Roles=List<角色>)(Functions=List<功能>)。3.2.1登录验证在用户登录时,,然后从PermManager.Functions属性中取出用户所对应的功能菜单列表List<功能>,将List<功能>中存在的功能对用户显示,不存在的不显示。代码改动:需要改动登录页面。3.2.2页面载入验证在功能所在的页面进展权限验证,防止没有授权的用户通过输入URL进入功能所在页面。在功能所在页面加载的时候从PermManager.Functions中取出List<功能>,并判断List<功能>中是否存在某项(功能.功能页面名称=当前页面名称),如果存在就说明有权限,反之如此没权限,并跳转到首页。但是在所有页面都进展判断的话,会将权限验证逻辑代码扩散到很多页面,造成大量重复的逻辑代码,