数据库权限设计与实现.doc下载

weixin_39822095 2023-01-23 13:30:12
实现业务系统中的用户权限管理--设计篇   B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问 用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器 是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很 可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个 或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功 能,而对那些未经授权的"非法用户"将会将他们彻底的"拒之门外"。下面就让我们一起 了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本 的功能。 可以对"组"进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下 员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提 出了对"组"进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限 分配。 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。 就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限 管理部分进行重新开发。 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权 限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重 用的,而资源权限则不能。 关于设计   借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计 ,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重 要,无论是"组"操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构:   首先,action表(以下简称为"权限表"),gorupmanager表(以下简称为"管理组表 "),以及master表(以下简称为"人员表"),是三张实体表,它们依次记录着"权限"的 信息,"管理组"的信息和"人员"的信息。如下图:   这三个表之间的关系是多对多的,一个权限可能同时属于多个管理组,一个管理组 中也可能同时包含多个权限。同样的道理,一个人员可能同时属于多个管理组,而一个 管理组中也可能同时包含多个人员。如下图:   由于这三张表之间存在着多对多的关系,那么它们之间的交互,最好使用另外两张 表来完成。而这两张表起着映射的作用,分别是"actiongroup"表(以下简称"权限映射 表")和"mastergroup"表(以下简称"人员映射表"),前者映射了权限表与管理组表之 间的交互。后者映射了人员表与管理组表之间的交互。如下图:   另外,还需要一张表来控制系统运行时左侧菜单中的权限分栏,也就是"权限分栏表 ",如下图:   根据上面的分析,我们进行数据库结构设计,如下图:   点击这里查看权限管理系统数据表字段设计   为了能够进行良好的分析,我们将数据库结构图拆分开来,三张实体表的作用已经 很清晰,现在我们来看一下两张映射表的作用。 一 权限映射表 如下图:   首先,我们来了解一下权限映射表与管理组表以及权限表之间的字段关联。   看图中的红圈,先看gorupid字段相关联,这种关联方式在实际数据库中的表现如下 图:   如图中所示,管理组表中"超级管理员"的groupid为1,那么权限映射表中groupid为 1的权限也就是"超级管理员"所拥有的权限。   使用groupid字段关联,是为了查到一个管理组能够执行的权限有哪些。但这些权限 的详细信息却是action字段关联所查询到的。   action字段相关联在数据库中的表现如下图:   通过这种关联,才查询到权限映射表之中那些权限的详细信息。综合起来,我们就 知道了一个管理组可以执行的权限有哪些,以及这些权限的详细信息是什么。   或许你会问,为什么不使用actionid字段相关联呢?因为: 权限表中的id字段在经过多次的数据库操作之后可能会发生更改。 权限映射表中仅仅记录着一个管理组可以执行的权限。 一旦权限表中的id更改,那么权限映射表中的记录也就更改了。 一个管理组可以执行的权限势必将出错,这是非常不希望的。   考虑到上面的情况,所以应该使用action字段相关联,因为: 在权限表中,id可能发生变化,而action字段却是在任何情况下也不可能发生变化的 。 权限映射表中记录的action字段也就不会变。 一个管理组可以执行的权限就不会出错了。 二 人员映射表 如下图:   我们来了解一下人员映射表与管理组表以及人员表之间的字段关联,如下图:   看图中的红圈部分,先看groupid字段关联,这 , 相关下载链接:https://download.csdn.net/download/qq_43966957/87372426?utm_source=bbsseo
...全文
21 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
《JIRA 从入门到精通》,doc 格式,大小 2.9MB。图文并茂,手把手教你学习 JIRA。 内容预览: JIRA入门到精通 ——hjjlearning,2008.06.27 第一章、 JIRA介绍 跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷,新特性,任务,改进等)是项目管理很重要的任务,但是很少有团队能做的很好。JIRA作为一个专业的问题跟踪系统可以帮助您把缺陷管理起来,让跟踪和管理在项目中发现的问题变得简单,而且充分利用JIRA的灵活配置和扩展性,可以将JIRA作为一个项目管理系统或者IT支持系统。 JIRA特性 1、 管理缺陷,新特性,任务,改进或者其他任何问题 2、 人性化使用的用户界面 3、 灵活的工作流定制 4、 全文搜索和强大的过滤器 5、 企业级的权限和安全控制 6、 非常灵活的邮件通知配置 7、 可以创建子任务 8、 方便的扩展及与其他系统集成:包括email、LDAP和源码控制工具等 9、 丰富的插件库 10、 项目类别和组件/模块管理 11、 可以在几乎所有硬件,操作系统和数据库平台运行 JIRA角色: JIRA作为一个缺陷跟踪管理系统,可以被企业管理人员,项目管理人员,开发人员,分析人员,测试人员和其他人员所广泛使用。 1、 管理人员: 根据JIRA系统提供的数据,更加准确地了解项目的开发质量和状态,以及整个团队的工作效率 2、 项目管理者 可以针对登记进JIRA系统中问题,进行评估,分配缺陷;还可以通过JIRA系统的统计报告了解项目进展情况以及团队的工作量,工作效率等信息。 3、 开发人员 在JIRA系统中查看分配给自己的问题,及时进行处理,填写处理情况并提交工作量记录。 4、 测试人员 根据测试情况,在JIRA系统中及时快速的记录问题并对开发人员处理后的问题进行验证和跟踪。 第二章、 JIRA安装 JIRA是一个简单易用的Issue管理和跟踪的工具,运行在JAVA平台上。下载和安装都很容易,按照安装文档,只需要十几分钟就可以搞定,而且还可以为JIRA配置单独的外包数据库(可以使用的数据库有MySQL、MS SQL、Oracle等)。 安装好之后就首先要在服务器上通过http://localhost:8080来对服务进行配置(8080是jira的缺省端口)。具体经过三个配置步骤就完成了: 第一个步骤是配置JIRA系统的属性: 第二步骤是配置JIRA系统管理员的信息: 第三步是配置JIRA系统的邮件通知参数 第三章、 JIRA管理使用 一、 Projects:项目 1、Projects—> Projects点击进入到项目列表,点击ADD Project后输入项目名称(name),关键字(key),选择开发项目负责人(lead Developer),填写描述(Description),通知计划(Notification Scheme),许可计划(Permission Scheme:)和问题安全策略(Issue Security Scheme)如图所示: 2、Project Categories点击进入到项目类别,如下图所示,填入新项目类别名称和描述。 二、 Users&Groups 1、 User Browser:用户管理,在页面中可以看到所有注册的用户,可以根据条件查询特定注册用户。如下图: 单击“Add User”,添加新用户,输入相关用户名,密码,邮箱等,如下图: 点击create后,可以设置注册用户的权限组,修改用户信息,或更新用户密码,删除用户等操作。如图: 单击Edit Groups可以把注册用户加入到其他相关的组中 2、 Group Browser:组管理,管理员可以自己添加相应的组然后进行权限,注册用户配置。 三、 Global Settings 1、 附件设置: Global Settings—>Attachments,点击图中的Edit Configuration进行附件的相关设置。 2、 首页面板设置: Global Settings—>Defalut Dashboard,可以进入系统默认的面板进行设置。 (1) 单击“增加”可以在左侧或右侧面板中增加想要显示的栏目: (2) ⑵选中某个栏目,单击“修改”可以修改其设置; (3) ⑶选中某个栏目,单击“Copy”可以复制一个栏目; (4) ⑷选中某个栏目,单击“删除”可以将面板中的栏目删除; (5) ⑸unselect 是取消对某个栏目的选择。 另外,对于首页面板的设置,也可以通过点击首页右上角的 管理门户页 进行新增面板: 点击“增加”后就建立了一个新的首页显示面板,点击次面板对应操作中的 详细配置 进行 面板内容设置后,点击 返回 dashboard 此面板即可生效。若要恢复系统默认的面板设置, 需要点击首页右上角的 管理门户页,在新的页面中点击 复原缺省,即可恢复。 3、 一般性设置 Global Settings—> General Configuration 进入页面,点击页面底端的 EditConfiguration即可进行设置: 4、 全局性权限 Global Settings—>Global Permissions,这里设置的权限适用于系统内所有的项目,但与某个项目所设定的特殊权限无关,某个项目可以通过 Permission Schemes 设定其特定的权 限。 另外,可以通过下图选择相应的权限并赋予某个组来增加这个组所拥有的权限。 5、 问题链接 Global Settings—> lssue Linking 进入页面后可以点击“Activate”激活此功能,然后 可以新建问题链接类型: 链接类型建立之后显示如下: 此时,在某个问题的详细显示页面就会出现“链接”到其他问题这样的字段,如图: 链接建立后,在此问题页面会显示: 单击图中链接的问题,会跳转到EW-12的问题页面,该页面内同样会有链接问题的显示: 6、 外观与样式: Global Settings—>Look and Feel,设置系统的Logo,Colours以及Date/Time Formats. 7、 邮件服务设置: Global Settings—>Mail Servers,进入邮件服务设置页面,如图: 点击图中的“编辑”可以更改邮件服务器地址、端口以及默认发送邮件地址等信息。点击 Send a Test Email 可以测试邮件服务是否可以正常。 8、 子任务设置: Global Settings—>Sub-Tasks,进入设置页面,如图: 此时,在某个问题的详细显示页面就会出现“创建”子任务这样的字段,如图: 单击图中的“创建子任务”即可新建一个issue。 注:此功能在 bug 管理流程中一般不使用,因为提交 bug 不存在嵌套,应该本着“单个问题 单个提交”的原则。 9、 事件跟踪设置 Global Settings—>Time Tracking,可以设置时间跟踪机制,如图: 点击图中的“Activate”是该功能生效。此时,在新建问题的时候,在页面最下端就会出现如下内容 这样新建问题后,在该问题的页面内就会增加了估算时间这一项,如图: 通过此功能,可以评估工作量。(建议:此项由项目经理填写。) 10、 用户默认设置 Global Settings—>User Defaults ,可以设置用户收到通知邮件的格式(text/html),查询 问题时页面显示的最多问题数以及用户自身发生改变时是否能收到通知邮件,如图: 点击页面中的 Edit default values 进行设置, 设置完成,点击更新,进入新的页面: 11、 工作流 Global Settings—>Workflows,点击Workflows进入到页面,如下图 上面图中已经存在一个默认的jira工作流和一个创建好的develop flows工作流,默认jira工作流是不可以删除的。下面创建一个新的工作流步骤: 注:制作工作流最重要的是根据自己公司的测试规范制定,有的可能比较复杂,有点可能比较简单,适合的才是最好的。 工作流图画出以后,下面就是根据图进行增加工作流了: 1、入工作流name和description,如下图: 2、点击add后,,如下图页面,点击workflows工作流那行的steps链接 3、点击steps链接后,进入下面页面,然后根据 新建打开 打开指派 打开推迟 打开已解决 打开不是问题 推迟指派 指派已解决 已解决重开 上面的状态都是Issue Settings—>Statuses中进行定义状态的。 4、到workflows进行页面设置: 5、 在上图先按照工作流图进行添加完成: 6、 添加完成后,进行状态转变设置,在下图中,点击Add Transition按钮 进入下页面 其他的按照上面进行操作。 7、 Transition view: 这里总共有四个选项 NO VIEW FOR transition 事务触发后不会有任何页面跳出 Default Screen 跳出一个和创建BUG差不多的页面 Resolve Issue Screen 跳出一个解决问题的页面 Workflow Screen 跳出一个问题分配的页面 8、 工作流设置完成后,还要在项目中应用到该工作流才算完成。 新建一个项目:在Projects—>Projects页面中,点击Add Project 填写完成后。 点击图中选择的”select scheme” 选择刚刚创建的scheme,点击Associate按钮,进入第二步骤 在次点击Associate按钮,OK,工作流已经配置到”测试”项目中去了 注:不同版本的JIRA可能有些操作步骤不同,但大致情况是这样一个流程。 四、 Schemes 1、 安全策略: Schemes—>Issue Security Schemes—>Add Issue Security Scheme ,输入具体的安全设置名称(name)及详细描述(description)即可,其中详细描述为可选项。 新增后可点击Security Levels(或安全设置的名称),设置不同的安全级别,如图所示: 单击右侧的增加可以设置处于某个安全级别的人员或组,如图所示: 单击 Default 可以将 jira 默认的安全级别改成当前设置的级别,单击之后可以在安全级别 设置的上方看到 Change default security level to "None" 的字样。 另外此处设置了安全级别要应用到项目中,在新建项目的时候或者建好项目之后可以更改。 2、 权限设置 Schemes—>Permission Schemes(很重要的一步)(在此之前可能需要新建相关的组,比如:开发组,测试组,市场组等,这样方便赋予权限) 点击Add Permission Scheme,新增一权限设置,或直接点击已有的项目权限进行copy,但记得要修改名称。新增后,点击旁边的Permissions进行编辑,具体设置如下: 3、 通知设置 Schemes—>Notification Schemes,单击Add Notification Scheme进行新增权限,也可以直接点击copy复制系统默认的通知设置,然后在里面进行更改。(建议不要更改系统默认的设置),添加完通知设置之后,点击通知设置的名称或点击右侧的Notifications即可进行通知的具体设置。 4、 工作流计划 Schemes—>Workflow Schemes,单击Add workflow scheme 来增加工作流设置以便与项目进行关联,如图: 点击增加即可创建一个工作流的设置,下面需要为这个设置指派一个工作流: 单击图中的assign a workflow,选择问题类型,选择相应的工作流,单击“增加”: 这样就建立了一个新的工作流设置,这样在新建项目的时候就可以通过这个设置将我们自己定义的工作流与项目联系到一起了。 如果想要讲图中的inactive 状态变成active,必须将设置与项目关联起来就可以。 五、 Issue Fields: 1、 自定义字段 Issue Fields—>Custom Fields,自定义页面内显示的字段。 单击页面内的Add Custom Field 可以进行自定义字段的添加,选择图中某一类型的字段。单击“Next”,如图: 在下图中字段名称对应文本框内填写需要添加字段的名称,并给予描述: 在此处选择添加字段所使用的模板: 选择此字段所要应用到的问题类型: 选择将此字段设置作为全局设置或是只针对某个项目: 单击“Finish”完成设置。在如下页面选择字段所显示的页面: 单击“更新”完成设置。设置前后页面比较: 2、 字段设置: Issue Fields—>Field Configurations,可以自己增加,也可以复制原有的进行修改,如图: 新增字段后如下: 注:此设置需与“Field Configuration Schemes”中的策略关联才可以生效。 3、 字段设置策略 Issue Fields—>Field Configuration Schemes,通过此处可以自定义添加或复制原有策略来增加新的策略,从而可以将所设置的字段与项目关联起来,如图: 4、 问题导航栏 Issue Fields—>Navigator Columns,通过此处可以增加或隐藏现有导航栏内的显示内容,也可调整前后顺序,如图: 六、 Issue Settings 1、 Issue Types:问题类型 Issue Settings—> Issue Types,通过配置可以设置出不同的问题类型,默认的问题类型有4种如下图: 在Add New Issue Type下面输入name和描述,就可以添加新的问题类型了,这个可以根据自己的需要进行增加。 2、 Priorities:优先级 Issue Settings—> Priorities,这个是设置问题的优先级,可以更加自己的需要进行修改,删除或添加。如下图是我修改了的优先级,把优先级该为问题的严重程度,方便自己使用,这里可以每个公司进行修改: 3、 Resolutions:操作决策 Issue Settings—> Resolutions,主要是配置开发人员对问题的解决方法状态选择,比如选择这个问题关闭,或者是已经存在,下个版本解决等。这些都是在这里进行配置,如下图,如果你不爽英文的话完全可以全部修改为中文。:-)o(∩_∩)o… 4、 Statuses:问题状态 Issue Settings—> Statuses,可以设置问题的状态,包含问题创建,关闭,重开等,可以根据工作流进行配置,如下图: 右边的workflows是工作流,点击下面链接就可以跳到工作流设置页面。 七、 Import & Export 1、 数据备份为xml文件: Import & Export—>Backuo Data to XML,通过此处可以将数据库中的数据备份成XML文件,这种备份既可以用于使用JIRA自带的数据库,也可以用于连接了外部数据库的数据备份,使用外部数据库的数据备份也可以直接备份该数据库。 单击图中的”Backup”之后会将数据备份,之后会提示填写备份路径,如图: 注:使 用这 种方法 备份 数据库 只是 一次性 备份 ,如果 想要 实现周 期性 备份需 要在 SystemServices 中进行设置。 设置如下:如果在安装 jira 的过程中指定了备份路径的话,jira 的备份服务会自动启动; 如果没有进行设置,可以进入 SystemServices 中,设置其保存路径,文件名格式,文件 保存为 zip 格式或 xml 格式以及备份时间间隔。如图: 2、 从XML文件恢复数据: Import & Export—>Restore Data from XML,通过此处可以将已经备份的数据重新恢复到系统中,与Backuo Data to XML相对应。 数据导入的时间视文件大小而定,导入成功之后显示如下页面,并且需要重新登录系统: 3、 外部导入数据 Import & Export—> External System Import、通过此处可以将外部的数据导入进来: 八、 Options & Settings 1、 Options&Settings—>Send E-mail,管理员可以通过这个功能通知相关用户信息。 九、 System 这个模块都是一些基本配置显示信息,一般安装JIRA都不用在这里面进行配置。可以不去管他。 第四章、 JIRA用户使用 1、登陆与注册 在成功安装配置完成的界面上点击“登陆到JIRA”,就会看到JIRA的登陆界面了; 如果已注册,就输入用户名和密码进入。 没有注册,点击“注册”链接 注册成功后进行登陆。 2、 创建问题 一般用户注册后,要通过管理员对你的权限进行配置。 项目一般又管理员进行创建,设置,这里只写普通帐户的使用。 登陆成功后,进入下面页面 点击“创建问题”链接,进入下面页面,选择项目,问题类型: 选择完,点下一步,然后详细填写问题的情况: 填写完成后,点“创建”。一个问题就创建完成,然后邮件就会发送到相关人员邮箱中。 注:上图中的填写,可能每个公司的配置一样,需要根据具体情况进行设置。 3、 浏览项目 在浏览项目的界面可以看到项目的基本信息资料,模块和版本信息及问题分布情况。 4、 查找问题 在查找问题界面上,您可以在界面左侧进行查询条件的设置,JIRA提供了强大的查询功能,在你设定好查询条件后,还可以将查询条件保存起来,定义为过滤器,供以后的重复使用,也可以将保存的过滤器给团队的其他成员。

13,656

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧