APP下载

基于SSO的社科管理信息系统的研究

2015-07-18李仕金何瓦特石婷

电脑知识与技术 2015年12期
关键词:信息化建设

李仕金 何瓦特 石婷

摘要:文中通过介绍学校信息化建设中各种管理系统登陆的独立性,不便于用于用户操作,进而引入单点登陆系统。文中主要通过对系统的架构、系统功能、系统运行机制、系统模型设计4个方面对社科系统进行改造,最后实现了不同域之间的安全系统实现了跨域单点登录。

关键词:SSO;社科管理系统;信息化建设

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2015)12-0081-03

校园信息化建设是我校建设中国一流、世界知名区域性高水平大学任务之一。近年来,学校开发了各种各样的管理信息系统,比如:教务成绩管理、人事系统、财务系统、邮件系统、信息管理系统等应用系统,然而每个应用系统都有自己的认证功能模块,当然后面学校开发的应用系统也会不断增加,随着应用系统的不断增加,用户在访问每个应用系统时必须记忆大量的用户名和密码,并且需要做一些重复性的输入工作。这种操作使得用户访问各种应用系统显得非常麻烦,同时降低工作效率,而且容易出错。这无疑也会给密码的安全问题带来巨大的隐患。

另外有些用户为了方便,采用一些简单的登录密码:比如生日、电话号码之类的,而且多个应用系统采用的是同一个密码;有的甚至不想记忆这些认证密码,直接将账号和密码写在纸上;有的同时登录多个应用系统后都没有退出系统的良好习惯,这样大大降低了系统的性能和用户账号的安全性;另外先前的应用系统所采用的认证方式,大多是在网络上传送,容易受到网络攻击,获取账号和密码,从而给合法用户造成一定的损失。除此之外,由于每个应用系统都保留着各自的用户信息,一旦出现用户的增加和修改使得管理员对系统中的用户信息进行维护相当复杂,增加了工作量。

基于上述原因,统一身份认证和单点登录相结合的设计方案,为某校文科科研管理信息系统实现了统一身份认证、单点登录、用户信息的统一管理,这不仅方便了系统管理员的管理,也增强了用户的体验,保障了用户信息的存储,系统具有很好的集成性和可扩展性。

1 相关技术研究

1.1 单点登录机制

单点登录机制[1](SSO)指的是用户只需要一次身份认证,就可以无缝的访问被授权允许访问的多个应用系统或者资源,而不需要重复在每个应用系统处重复进行认证的解决方案。其实在现实生活中就有单点登录的实例:比如你去五台山旅游,五台山里面有很多独立的寺庙是需要单独收费,这样如果游客需要游览的话,就需要去各个景点重复购票,这种设置方法会很麻烦,浪费游客的精力和时间去进行排队购票。因此类似的情况在景区入口处通常就有一个购买通票的地方。这张通票就好比是计算机单点登录机制中的一个身份认证。

1.2 统一身份认证技术

统一身份认证利用认证和服务相分离的思想,将文科科研系统中的身份认证模块独立出来,提供与学校其他管理信息系统的用户的一个统一身份认证入口。方便用户的使用,从而增加系统的安全。彻底的改变传统用户信息的效率低下的管理模式。

统一身份认证提供的是一个统一的认证服务平台,通过对各个应用系统的功能模块进行集中统一认证,主要包括:用户信息的存储、用户权限的统一管理、用户身份进行确认。从而提高认证整体的可靠性和高效。

1.3 SAML技术分析

SAML是结构化信息标准促进组织建立的安全标准[2],目前有2个版本都是基于可扩展标记语言XML面向WEB服务的架构[3],SAML通过因特网对不同的安全系统的信息交换进行处理。它是基于XML语言用于传输认证及授权信息的框架,以与一个实体(人或计算机)相关的断言形式表达。断言可传递主体执行的认证信息,属性信息及授权决定。SAML的体系结构如图2。

1.4 门户(Portal)技术

门户技术主要有Portal Server,Portal Container,Portlet三部分组成,它可以将企业的内容和应用进行统一集成。可以对分散异构的数据进行实时访问和统一管理,此外还为门户系统提供了许多额外附加功能,增加系统的安全性。总而言之,门户技术是一个集企业业务、单点登录和个性化定制为一体的信息管理平台。

2 系统设计

文科科研管理信息系统的完成是实现科研管理信息化的首要条件,通过科研管理信息系统可以优化传统科研管理模式,不断提高科研管理效率和水平的过程。从技术方面说,就是利用计算机技术、网络技术等现代技术建立科研管理信息库和决策支持系统,主要通过信息化平台收集科研人员、科研项目、科研成果等信息,对其进行加工处理,然后从中得出有用的价值,提高管理信息系统的信息利用率。

2.1 系统架构设计

从整个文科科研系统上分析得出,整个认证系统功能主要包括:认证服务、用户管理、用户过滤三大模块。认证服务为整个系统提供统一的认证入口。用户的基本信息和应用系统的管理属于用户管理模块范畴;过滤模块主要是获取用户的登陆信息,提供统一身份认证的入口。整个系统的总体构架如图3。

2.2系统功能设计

本文科科研管理信息系统能够实现学校内多个应用系统之间的统一身份认证和单点登录功能,与传统的单点登录系统比较,特点如下:

1)认证身份

用户只需要在统一登录入口处进行一次身份认证,认证成功后可以实现无缝访问其他web应用系统,不需要重复输入自己的认证信息。

2)映射身份

由于原来每个应用系统都有独立的账号和密码,在整个社科系统中通过装有Filter和统一身份认证系统之间的SAML通信,利用过滤器的自动填充技术,获取web应用系统的身份信息,无需系统管理员手动添加信息,实现用户自动登录。

3)用户信息统一和分散相结合

由于原有的应用系统都具有自己的用户权限,当实现统一身份认证权限过于统一的话,系统的设计就需要改动的比较大,为了使得系统改动的尽可能的小,故系统采用信息分散和统一管理相结合的方式;另外增加了系统的安全性,简化系统管理员的操作。当系统中出现了人员的变动时,只需要采用集中的管理系统中进行删除,而不需要通知每个应用系统单独删除,因而方便了系统管理员的操作。

2.3系统运行机制

当用户访问web应用系统时,应用系统的访问控制模块首先检查用户是否进行统一身份认证,如果用户未进行身份认证,则强制用户进行认证,完成认证后返回一个session认证标识并附带客户端的数字证书;合法用户访问源站点时,源站点通过内部转换服务将访问转到目标URL。内部站点通过发送一个带有SAML响应的HTML表单,使得通讯正常。进而浏览器通过以post提交的方式将表单提交到目的站点的断言处理模块,断言处理模块通过验证响应的数字签名,判断用户是否合法。具体运行机制如图4。

2.4系统模型设计

结合门户系统的功能需求,基于SAML的单点登录门户系统集成了门户系统中的应用资源、主体/角色信息库、用户身份信息管理中心。门户系统利用portlet,servlet过滤器、SAML验证解析等与应用资源提供者进行通讯[4]。具体模型图结构如图5。

3 系统实现

3.1 Portlet 类组件开发

Portlet功能组件的开发是单点登录系统功能实现的主要部分[5],它不同于Jsp Portlet,JDF portlet.,创建JAVA portlet时输入类名,在此基础上派生出一个LoginPortlet类,该类继承了GenericPortlet,实现了javaportlet的生命周期,同时对Render(),processAcetion()进行处理,整个GenericPorlet类是实现Portlet和PorletConfgi接口整个Portlet类的继承关系如图所示:

由于Portlet类文件中具有Doview(),doedit(),dohelp()三种方法[6],默认情况下,render()方法会将view模式的内容返回用户,doview()负责将信息内容显示,主要通过RenderrResponse对象将write流将内容写到portlet中;另外也可以通过JSp页面嵌入式的方法显示portlet.整个页面标签和jsp页面开发技术类似。Portlet类整个生命周期方法含有init(),render(),processAction(),destroy()四种方法,整个时序调用如图7所示:

3.2用户登录模块的实现

用户登录模块主要实现单点登录系统的过滤和验证功能,该模块首先要为各个应用系统提供一个过滤保护的过滤器。改过滤器可以将不具有身份认证的用户不提供应用资源的保护,并为合法用户提供SAML令牌。该系统由一个登陆界面login.jsp组成,改界面主要负责检验用户输入合法性,通过表单提交的方式将输入信息提交到LoginServlet进行验证,通过使用weblogic的验证机制对ServletAuthentication.login()进行验证,通过调用令牌生成类SAMLTokenProduc生成SAML相应的类,并给与加密,具体实现代码如下:

public void service (ServletRequest req,ServletResponse resp)throws ServletException{

try{

int Result=ServletAuthentiocation.login(user,password,request)

//登录失败

if(Result!=ServletAuthentiocation.Authenticatied)

throw new LoginException("loginFailed");

} catch(LoginExceptaion ex){

this.SendError(request,resp,ex)

return;

}

//登录成功

SAMLResponse resp=SAMLTokenProduce.getSAMLResponse();

String token=Base64.encode(r.toString());

Response.resetBuffer();

Response.getWrite().print("LofinSuccess");

}

整段代码实现了系统接受用户请求,验证登录用户的合法性,验证成功产生安全的SAMl令牌,通过发送令牌至服务器,通过令牌进行身份验证,否则没有通过验证的用户进行验证错误处理[7]。

安全SAML令牌生成后,浏览器将请求来的信息进行验证,浏览器得到响应后,将令牌传送到其他应用服务器模块中,浏览器通过自动表单提交方式对令牌进行验证和解析,为浏览器的前端和后端建立起一个合法身份用户的会话,保证用户下次访问无需再次登录,这样为门户系统中的各个集成应用提供了单点登录,而且还为门户中不同域之间的安全系统实现了跨域单点登录。

4 结束语

文章实现了用户身份认证信息在门户集成的各个应用系统之间的无缝链接,文中基于安全的标准传输,实现了跨域的应用业务系统之间的单点登录的协助。但是针对于目前互联网的发展,下一步应用系统的逐渐扩大,下一步应该将文科科研管理信息系统移植到云环境下,使得用户可以更加方便地与其他业务系统想结合,方便用户的操作。

参考文献:

[1] 李希能、 统一身份认证与单点登录系统的设计与实现[D]. 武汉: 武汉理工大学,2010: 5-6.

[2] 韩晶, 戚银城, 王斌,等.基于SAML的web服务认证技术[J].电力系统通信, 2006, 27(6)85-87.

[3] 王娟, 李俊娥. 安全服务语言SAML分析[J].微型机与应用, 2003, 10(13): 30-32.

[4] 余新华、基于门户的单点登录系统的设计与实现[D]. 武汉: 华中科技大学, 2007: 13-32.

[5] 郑芳, 程颖, 王林平. 基于SAML的webservice安全模型研究[J]. 计算机与数字工程,2005, 33(1): 81-84.

[6] 崔芳龙, 曹彩凤, 龚家兵. 基于SAML的webservice系统及实现[J]. 微机发展, 2005, 15(4): 57-59.

[7] 杨柳, 卢清平. 门户环境下的单点登录研究[J].微计算机应用, 2007, 27(6): 89-91.

猜你喜欢

信息化建设
通过完善单位信息化建设自动实现内部控制
关于新时期高校档案管理信息化建设的几点思考