面向特定应用的权限验证模块的设计与实现

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:petersainty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]某单位要求采用数据库三层架构体系,即应用程序+pgpool-II+PostgreSQL,实现数据的集中采集与存储,并规定只能通过访问封装好的业务处理函数访问后台数据库,同时还要求只有被赋权的用户才有执行操作的权限。因此,要求我们在中间件pgpool-II中增加权限验证模块,过滤掉不合法的请求,限制非法用户占用数据库连接,并解析出合法用户请求连接的数据库。
  [关键词]pgpool-II;权限验证
  中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2015)38-0394-01
  0 引言
  某单位要求采用数据库三层架构体系,即应用程序+pgpool-II+Postgre SQL,实现数据的集中采集与存储,并规定只能通过访问封装好的业务处理函数访问后台数据库,同时还要求只有被赋权的用户才有执行操作的权限。因此,要求我们在中间件pgpool-II中增加权限验证模块,过滤掉不合法的请求,限制非法用户占用数据库连接,并解析出合法用户请求连接的数据库。
  用户对操作权限有以下需求:系统管理员负责对用户进行分组,授予用户权限,限制用户的可操作范围;所有普通用户只能对函数进行调用,不同用户所能操作的函数可以相同也可以不同;只有系统管理员可以修改用户的权限;权限定义为对数据库中函数的调用。
  针对上述需求进行分析,提出了一种解决方案,即利用中间件pgpool-II中已有的权限验证功能进行改进开发,即在原有权限验证的基础上限制掉其他非法的请求。
  1 权限验证模块流程图
  用户通过身份验证后,成功建立与后台数据库的连接后,进入权限验证阶段,权限验证接收指向select类型的业务请求的指针,同时传入一个用于带回连接业务数据库所需相关信息的con_db类型指针connect_db。若指向业务请求的指针或connect_db为空,则返回的输出项取值为0.在对业务请求的语句进行解析后,得到请求的各部分信息。然后,利用公共的用户postgres建立一条systemdb数据库的连接,如果连接建立失败,返回输出项取值为0。
  利用该连接查询systemDB中的systemdb表中查詢该函数处理的数据库名称,如果查询返回错误信息,则返回的输出项为0;如果查询返回的数据库名称为空,则返回的输出项取值为-3。接着从systemDB的system表中查询用于函数处理上述数据库的用户及密码,如果查询返回错误信息,则返回的输出项取值为0;如果查询得到的公共用户名称及密码为空,则返回输出项为-1。最后,利用公共的用户postgres建立一条到业务数据库在systemDB节点上的空连接,通过新建立的连接查询登录用户是否有使用该函数处理业务数据库的权限,如果查询没有结果返回,则返回输出项为0;如果返回为真,表名验证通过,返回的输出项取值为1;反之验证失败,返回的输出项取值为-2。
  示例:输入的函数形如cw_fun(),通过cw可以解析得出数据库,通过用户与角色,角色与操作的对应关系,可以解析出用户是否有权限做该操作。操作流程如图1所示。
  2 权限验证模块接口设计实现
  2.1 数据结构
  与权限验证相关的数据结构:
  结构体con_db用来存放解析出来的数据库,对应的数据库用户,对应数据库用户的密码
  typedef struct con_db
  {
  char *con_database;//要连接的数据库
  char *database_user;//对应的数据库用户
  char *db_key;//对应数据库用户的密码
  }con_db;
  2.2 函数接口
  输入项为指向业务请求字符串的指针以及用于存放后面连接业务数据库所需信息的指针。其中:对于指向业务请求字符串的指针,输入的数据类型为char**,标示为operation;对于存放连接业务数据库所需信息的指针,输入的数据类型为con_db*,标示为connection_db。
  输出项为对应的验证结果,类型int,范围为-3~1;输出项的各种取值分别对应的含义见表1。
  权限验证函数接口:
  con_db auth_operation(char *operation,char *user);
  输入的参数为用户的业务请求操作和用户名。
  返回con_db。
  3 实验结果
  根据上述方法进行设计和实现,最终测试结果如表2所示:
  4 小结
  本文基于客户端应用程序+pgpool-II+PostgreSQL三层架构,实现了面向特定需求的权限验证,过滤掉了非法用户越权操作数据库的可能,提高了数据库连接利用率。
  参考文献
  [1] 刘宏杰.PostgreSQL数据库及应用.新疆油田公司勘探开发研究院.
  [2] 曾侃.基于开源数据库PostgreSQL的地理空间数据管理方法研究.
  [3] 王萌,杨梁怀.PostgreSQL数据库在不同调节器中的能效比较.
其他文献
[摘 要]随着社会的发展,科技的进步,软件成为我们生活必不可少的一种工具,并且并行程序逐渐成为主流,软件测试的发展也倾向于开发并行方面的应用程序的研究,并行程序是有很多个独立的线程,线程非常复杂,并且有不确定的交互关系,让并行程序增加了自动化测试的难度,使多线程之间交互关系和并行程序的错误算法成为现代程序员值得研究的课题,这又是现在软件中最薄弱的环节。一般静态测试是通过分析语法、结构、方法语句、接
期刊
[摘 要]随着经济发展,人们生活水平质量的提高,汽车从一种奢侈品逐渐步入了寻常人家。在日常生活中,随处可以看见众多车型,例如越野车、客车、轿车、卡车等。但汽车底盘作为汽车整体的一个重要构成部分因其位置特殊往往不被人重视。本文以越野车为例,主要讲述了汽车底盘的类别、功能及一些其他零部件的功能,以期更好的为生活服务。  [关键词]汽车底盘;设计理念;功能协调  中图分类号:TF762.3 文献标识码:
期刊
[摘 要]本文简要介绍了我国火力发电厂金属技术监督的目的和“安全第一,预防为主”的方针和主要任务。并着重介绍了金属监督工作中常用到的磁粉探伤法、超声波探伤法、着色探伤法、射线探伤法等方法,以及在电厂中的锅炉和汽机等主要零部件的金属监督。和电厂金属监督这一工作未来的发展趋势。  [关键词]金属,监督,安全,探伤,管道  中图分类号:TU8 文献标识码:A 文章编号:1009-914X(2015)38
期刊
[摘 要]依据《技术问题综合解答(第1号)》中的有关规定,通过分析翻斗式雨量传感器在使用过程中两次不正常记录产生的原因[0],提出了正确的处理意见,并总结了处理类似问题的方法。  [关键词]自动站 ;不正常雨量 ;分析处理  中图分类号:TP317 文献标识码:A 文章编号:1009-914X(2015)38-0389-01  引言  《地面气象观测规范》明确指出,地面气象观测记录要真实地反映实际
期刊
[摘 要]东昆仑作为中国中央造山带西段的重要组成部分,本文通过对该地区的地质情况和成矿前景进行总结分析,为该地区的地质找矿工作提供参考。  [关键词]东昆仑;柴北缘;构造;成矿  中图分类号:P618.2 文献标识码:A 文章编号:1009-914X(2015)38-0378-01  从近年来找矿成果来看,在东昆仑-柴北缘地区发现了以断裂构造控矿的铁、钴、铜、铅、锌、金等矿产多处,表明区内矿产的的
期刊
[摘 要]结合地铁实际情况,本文将分析探测器误报的原因及对策  [关键词]感烟探测器;误报;地铁;工作原理;对策  中图分类号:TD327.3 文献标识码:A 文章编号:1009-914X(2015)38-0390-01  一、概述  目前地铁都设置了火灾自动报警系统,它主要是及时发现火灾,并联动设备设施,控制扑灭火灾,其中探测器在火灾探测过程中有着重要的角色,结合地铁实际情况,探测器存在误报的情
期刊
[摘 要]本文围绕消防部队战斗力生成这一核心目标,分析了实战化训练对于提高部队战斗力的作用,阐述了如何通过实战化训练,实现人与装备的有机结合,提高部队灭火救援实战能力。  中图分类号:D631.6 文献标识码:A 文章编号:1009-914X(2015)38-0383-01  0 引言  实战化训练催生战斗力实战化训练是催生消防部队战斗力的重要途径和抓手,也是消防部队经常性的中心工作,能否坚持实战
期刊
[摘 要]政工思想政治教育工作一直以来对于我国有中国特色的社会主义建设工作有着重要的意义和作用,但是针对目前在实施相应的政工思想政治教育工作过程中一直存在着相应的不足和问题,鉴于这是一项需要长期进行坚持和进行的工作也就要求在工作开展和实施的过程中对工作方法进行相应的创新和完善,本文就政工思想政治教育工作方法的创新进行分析和总结,提出相应的想法和建议,希望对我国政工思想政治教育工作的进行有所帮助。 
期刊
[摘 要]从工控机硬件和软件两个方面分析了造成电脑死机的常见原因,并提出了解决的办法,确保DCS控制系统的可靠运行。  [关键词]DCS、硬件、软件、死机、维护  中图分类号:TP391.72 文献标识码:A 文章编号:1009-914X(2015)38-0391-01  對于DCS控制系统来讲,工控机死机的现象会给系统控制带来一定的影响,严重时会导致现场无法控制,从而导致现场停车等严重事故,多种
期刊
[摘 要]随着绿色环保型建筑材料的普遍应用,建筑行业的可持续发展必然会成为大势所趋。在遵照可持续发展和生态节能环保理念的前提下,最大程度的使用现代节能环保的新技术、新措施,来满足人们的需要和紧随时代前进的脚步,并最终达到为构建和谐生态的社会主义新中国做贡献的目的。本文分析了发展绿色建筑节能材料的必要性,并详细分析了新材料在绿色建筑节能中的应用及发展趋势。  [关键词]绿色建筑;节能材料;应用;发展
期刊