APP下载

基于FreeMarker自定义访问控制的设计与实现

2015-06-24谢满魏小锐

东莞理工学院学报 2015年5期
关键词:教务处访问控制工作量

谢满 魏小锐

(东莞理工学院 计算机学院,广东东莞 523808)

访问控制技术是信息系统安全的核心技术之一,通过对用户访问资源的活动进行有效监控,使合法的用户在合法的时间内获得有效的系统访问权限,防止非授权用户访问系统资源[1]。目前在大多数实际系统中,访问控制管理都采取简单的处理,指定一个特权管理员执行所有的管理操作,这种传统的访问控制管理在计算机系统中的管理架构与现实的管理架构相脱节,这对管理工作造成了一定的阻碍[2-4]。以绩效考核系统为例,不同的部门采用了不同的访问控制模型,而传统的访问控制都是针对一种访问控制模型提出的,很难适应这种多访问控制模型并存的情况。

针对上述问题和目前现状,提出了一个基于Freemarker自定义访问控制可行性实现方案。Freemarker是一个使用纯Java编写的开源模板引擎,能够基于模板生成文本输出的框架,因此,只要在Freemaker的基础下进行二次开发,自定义一套统一通用的权限管理标签,开发人员便可以使用标签传入访问的URL参数,对各类信息资源的访问加以控制以及对用户和相关人员的权限加以管理[5-7]。以绩效考核管理系统为例,教务处、科研处、组织部在系统中担当着不同的角色有着不同权限,如:教务处只有管理教师的教学工作量及服务工作量的权限,科研处只有管理教师的科研工作量的权限,组织部只有管理中层干部领导的评价值的权限,而前端只需要一个基于Freemaker技术的Html5界面便可以准确区分出被授权的用户所能访问的数据和信息。

权限管理系统可以通过不同的技术来实现。以绩效考核管理业务处理为基础,有效的利用FreeMarker技术的支持,通过访问接口的URL地址参数及自定义PermistionDirective标签来实现统一界面权限管理,并且构造出能灵活处理各个管理系统的通用权限管理标签[8-9]。

自定义通用标签流程图如图1所示。

1 自定义通用权限管理标签特性

在传统的权限管理业务系统中,权限设计通常是针对具体到某个用户赋予不同的访问权限,因此,系统权限管理的范围较窄、通用性较差。以绩效考核系统为例,采用传统的方式实现权限管理时,不同的权限用户创建一个唯一前端页面,这样会造成当系统越来越庞大;当管理权限越来越复杂时,前端代码冗余,维护艰难。而通用权限管理模型,则能够解决上述问题,具有以下特性:

(1)通用性强、可移植。该标签模版兼容JDK 5以上,可以将其加入到任何需要进行权限管理的JAVA系统中。另外,该标签可以被重复利用,具有较好的可移植性。

(2)易替换性。随着JDK的环境及项目环境的变化,该标签模版升级时,只需将对应的标签类替换,其他代码不需要修改。

图1 自定义统一标签流程图

(3)易安装性。集成该标签模版只需拷贝封装好的AuthTemple.jar包添加到lib目录下编译即可使用。

2 自定义通用权限管理标签的设计与实现

2.1 自定义标签模版配置

设计一个单例PermistionDirective实体Bean对标签统一管理,并初始化环境,设置全局设置标签属性:如default_encoding编码模式,template_version模版版本,locale本地化处理等。以绩效系统为例,采用SpringMVC框架注入Bean类PermistionDirective,实现全局统一管理,这样设计没有依赖于特定的系统,根据需求配置模版环境,升级模版版本等。

2.2 自定义模版实现

通过实现Freemarker模版基类TemplateDirectiveModel的接口,将传入的PARAM_URL在数据库匹配验证该登录用户的权限是否包含传进来的URL参数,如对于教务处来说权限是仅限于管理教师的教学工作量及服务工作量,拥有权限对应URL为PARAM_URL="/teaWork.do"及PARAM_URL="/ser-Work.do",此时传入的PARAM_URL="/teaWork.do"则验证通过,渲染页面,反之,如果传入的是科研处的URL="sciWork/do",则权限验证失败。

2.3 页面渲染

当通过数据库验证URL的匹配时,需要对页面展示做渲染。在自定义模版标签模块的配置中,定义了一个叫jx_perm的bean,这样就可以在页面中使用<@jx_perm url=""></@jx_perm>标签。页面解析到该标签时,就会访问服务器PermistionDirective的接口,判断该用户是否有权限访问url,如果有,则渲染标签体里面的内容,如果没有权限则跳过标签体。以绩效考核系统为例,管理界面有一个展示当然用户管理权限的页面,如下:

教务处管理员拥有管理教学工作量、服务工作量的权限,当URL通过标签访问接口并匹配数据库成功后,经过渲染看到的界面是:

科研处管理员拥有管理科研工作量的权限,当URL通过标签访问接口并匹配数据库成功后,经过渲染看到的界面是:

<@jx_perm url="/sciWork.do">

<li class="normal" ><a href="/sciWork.do">科研工作量管理</a></li>

</@jx_perm>

这样,就这做到了一个总的管理页面通过自定义全局标签的形式做到权限分离。

3 结语

在分析传统的权限管理方法的基础上,给出了一个行之有效的权限管理设计模式,该设计模式可以直接应用在常用的管理系统中,能够明显缩短权限管理的开发周期,降低开发费用,并且该设计模式能够在较大的限度内满足用户在权限管理方面的灵活需求。

[1]上超望,赵呈领,刘清堂,等.组合Web服务访问控制技术研究综述[J].计算机科学,2011(10):13-15.

[2]李凤华,王巍,马建峰,等.基于行为的访问控制模型及其行为管理[J].电子学报,2008(10):1881-1884.

[3]李兰瑛,李晓芸.基于脚本和URL传递参数的Web部份访问控制技术[J].信息与技术工程,2010(03):349-351.

[4]李凤华,苏铓,史国振,等.访问控制模型研究进展及发展趋势[J].电子学报,2012(04):805-808.

[5]胡敏.基于Freemarker的企业网站内容管理平台研究[J].信息通信,2011(02):62-63.

[6]鞠凤娟,侯茜慧,肖守柏.FREEMARKER结合STRUTS2框架开发WEB插件研究[J].科技经济市场,2010(11):23-25.

[7]赵卫东,毕晓清,卢新明.基于角色的细粒度访问控制模型的设计与实现[J].计算机工程与设计,2013(02):474-479.

[8]屈建明,陈洁.FreeMarker模板引擎动态生成网页的应用研究[J].计算机与现代化,2011(03):121-123.

[9]周春容,肖祥林,杨桦.Java Web通用用户权限管理框架设计与实现[J].计算机与现代化,2014(03):177-179.

猜你喜欢

教务处访问控制工作量
服务现代警务新体系 构建“新公科”专业平台(顾国达等摄影 教务处报道)
好处费
一个兼顾教学科研的高校教师绩效考核模型及其应用
ONVIF的全新主张:一致性及最访问控制的Profile A
思科发布云计算市场发展报告
基于项目化教学法的可编程控制器课程教学改革
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
网上互动教学工作量管理的困境及对策