基于session机制的单点登录方法

文档序号:8514618阅读:243来源:国知局
基于session机制的单点登录方法
【技术领域】
[0001] 本发明设及软件应用系统开发的单点登录方法,作用是方便用户访问网络资源。
【背景技术】
[0002] 使用单点登录方法的单点登录系统整合了过去分散在各应用系统中的信息资源, 为更进一步的用户个性化服务打下了基础。在多个应用系统中,用户只需要登录一次就可 W访问相互信任的应用系统。
[0003] 单点登录的机制是;对于没有访问过的用户,第一次登录时,首先到登录系统入口 进行登录的认证;对于登录用户提交的各种信息,登录系统经过验证,如果该用户身份通过 验证,则登录系统会产生一个有效的身份认证的标识返回给用户;用户即可访问该子系统; 如果该用户需要访问其它的子系统的时候,携带着系统返回的身份认证标识,请求子系统 访问的权限,子系统收到请求后,会对该用户的身份标识进行验证,检查其合法性,如果通 过了验证,该用户可W直接访问该个应用系统。
[0004] 使用单点登录方法单点登录系统把原来自由分散的用户进行统一的管理,降低了 系统的管理难度。该样统一的管理,各系统之间通过信息传递来进行用户身份的自动认证。 同时由于用户的信息是集中管理和维护的,那么管理员的工作量也会大大的减少。
[0005] 单点登录的实现机制不尽相同,大体分为Cookie机制和Session机制两大类。 Cookie是一种客户端机制,本身具有一定的安全局限性和跨域访问局限性。为了保证客 户的安全,Cookie文本按域名区分存储,Web服务器就不能读取其它域存放在客户机的 Cookie文本。如果要实现基于Cookie的单点登录,就需要用其它技术或通讯,使Web服 务器之间或Web服务器与认证服务器之间交互信息。Session是一种服务器端机制,是记 录在服务器端的连接记号对象,每个用户与Web服务器连接都会产生一个独立的Session 对象。基于Session机制对于服务器管理来说是比较理想的。
[0006] 单点登录系统实现的目标主要有W下几点。
[0007] 1.从信息的角度看 单点登录系统减少了信息的重叠,实现了信息的有效共享。W往不同的应用系统中,许 多基础的信息可能会存在每个应用系统中,那么就造成了一定的信息重叠。而单点登录系 统则通过各子系统间的信息传递实现了不同子系统之间的信息共享。
[0008] 2.从用户的角度看 使用单点登录,减少了重复的登陆验证,操作方便。用户不用每登陆子系统输入一遍用 户信息,而是一次登录,验证通过即可通过各个子系统的接口访问有权限的子系统。
[0009] 3.从管理者的角度看 使用单点登录,减轻了管理的难度,实现了统一管理。
[0010] 4.从安全的角度看 使用单点登录,安全性相对提高。用户不必一一记录每个应用系统的身份信息进行登 录。

【发明内容】

[0011] 基于session机制的单点登录方法,解决了多次重复登录应用系统的问题,非常 适用于目前广泛的中小型应用系统,具有很好的安全性、灵活性和可靠性。它操作简单,管 理方便且无需硬件或"第=方"服务的支持,成本非常低廉。
[0012] 本发明设及一种新的单点登录方法,该方法原理如下。
[0013] 1.单点登录的方法述过session共享实现子系统之间信息的传递。
[0014] 2.Session信息对于不同的客户的识别;session除在服务器上保存相应的信息 夕F,必须对客户端上传的信息进行识别。而该个信息来源于客户端的cookie信息,在客户 端初次登陆时,由系统进行一个sessionid的统一分配,而后客户端携带该信息进行访问 时取出相应的sessionid信息,并与服务器上保存的相应的的sessionid进行比对,从而识 别客户端。
[0015] 3.客户端信息的记录;客户在保存cookie时并未真正保存相应的sessionid, 该属性值是存在于浏览器进程中。而关闭并重新浏览后,cookie虽可上传,但其中的 sessionid信息已经发生了变化。实现不同子系统共享session时,必须要将其cookie信 息的作用域改写为所有域名下,实现在不同子系统上,同一浏览器上传相同的session信 息(sessionid)。
[0016] 4.session信息生成方式;不同站点中的session信息的产生必须要同步。协调 不同的站内进行相同的session生成机制。
[0017] 该单点登录方法的实现方式如下。
[0018] 1.浏览器使用进程内的session事实上是由隐形的cookie实现,利用各站点的 cookie重写技术,重写cookie的作用域必须为主域(不带二级域名)。使cookie在不同 的二级域名下实现cookie共享。该技术用DomainCookie方式实现,并在web. config等配 置节中实现。
[0019] 2.服务器端使用相同的sessionid分发,采用直接的数据库技术实现统一。同样 在web.config等配置文件中实现。
【具体实施方式】
[0020] 1.客户端需求布署 所需文件,DomainCookie.dll,顶级域名;sun.com,域名;user.sun.com。
[0021] (1)Web.config文件配置中添加 <httpModules> 配署 <ht1:pModules〉 <addname="Domain"type="DomainCookie.Domain,DomainCookie"/〉 </ht1:pModules〉 说明;httpMo化les是入口点,配置后使用请求入口点生效,每个请求都会由domaincookie.dll处理,该程序处理时会将所有的cookie信息对于全部域名有效。其中 name是配置名称,标识使用的模块。Type是配置的程序集。按"类名全称,程序集"的方 式布署。
[0022] (2)添加所需要的appsetting属性 〈appSettings〉 〈add key二"民ootDomain" value二"sun. com"/〉 〈/appsettings〉 说明;该配置表示系统中要使用的域名,key的值为dll文件中所需要的变量名称,不 能更改,且必须对应大小写。Value中的值应当是使用的顶级域名(又称主域名,根域名), 不能带二级域名的名称。如果当前的子系统中用的域名是user.sun.com,这里必须为sun. com,不能是其他。如果改写为其他域名,则cookie无法带上来。
[0023] (3)配置检验 该配置为保证cookie信息对所有二级域名生效。配置完后,建立页面测试,向cookie中写入任意一个cookie值。
[0024] 然后让其再进行求请获得cookie,并获得cookie中的domain属性,配置成功 后能取到cookie,且其domain属性为appsettings中所设置的一样。不得为二级域名如 user.sun.com。否则配置失败。
[00巧]2.服务端需求布署 数据库实例;用户名为Sessioner,密码为123456。
[002引配置步骤: (1)先测试一下数据库 请使用用户名Sessioner,密码为123456,确认数据库连接成功。
[0027] (2)配置web. config <sessionStatemode="SQLServer"sqlConnectionString="server=127. 0. 0. 1;uid=Sessioner;pwd=123456;"/〉 3.子系统权限认证方案 (1)用户均通过中屯、认证,调用接口LoginSystem,传UserName,TimeStamp,VerifyCode,及相应的认证有时间TimeSpan。
[0028] (2)各子系统间共享session,如果登陆失败时,提示向中屯、认证。
[0029] (3)各子系统间的用户信息通过session变量进行传递。
[0030] (4)登陆参数设置。
[0031] 表1登陆上行参数
【主权项】
1. 基于session机制的单点登录方法(在后面的叙述中简称为单点登录方法),其特征 在于,包括该方法的原理、参数和技术实现。
2. 根据权利要求1所述的单点登录方法,其特征在于,该单点登录方法适用于各自功 能独立的应用系统,各个子系统可以独立开发。
3. 根据权利要求1至2所述的单点登录方法,其特征在于,使用该方法的应用系统的不 同子系统可以独立部署,并且各自通过调用接口访问不同子系统信息资源,应用程序中的 不同子系统通过session实现信息传递。
4. 根据权利要求1至3所述的单点登录方法,其特征在于,session信息对于不同客户 的识别:当客户在客户端进行初次登陆时,由服务器端进行一个sessionid的统一分配,之 后客户端携带该信息进行访问时与数据库中的信息进行比对,从而识别客户端。
5. 根据权利要求1至4所述的单点登录方法,其特征在于,实现不同子系统共享 session时,必须要将其cookie信息的作用域改写为所有域名下,实现在不同子系统上,同 一浏览器上传相同的session信息(sessionid)。
6. 根据权利要求1至5所述的单点登录方法,其特征在于,不同子系统中的session信 息的产生必须要同步,协调不同的子系统内进行相同的session生成机制。
7. 根据权利要求1至6所述的单点登录方法,其特征在于,在用户中心为所有子系统 提供用户验证服务,用户在用户中心登录,调用登录系统接口传入参数,认证成功时,使用 session变量存储用户信息。
8. 根据权利要求1至7所述的单点登录方法,浏览器使用进程内的session事实上是 由隐形的cookie实现,利用各站点的cookie重写技术,重写cookie的作用域。
9. 根据权利要求1至8所述的单点登录方法,其特征在于,重写cookie的作用域必须 为主域(不带二级域名),使cookie在不同的二级域名下实现cookie共享。
【专利摘要】本发明涉及一种基于session机制的单点登录方法,本发明的作用是解决了多次重复登录应用系统的问题,在多个应用系统中,用户只需要登录一次就可以访问相互信任的应用系统。在本发明中,单点登录的方法,通过session共享实现子系统之间信息的传递。信息共享的关键在于对于不同的客户的识别,对客户端携带的信息与服务器上保存相应的信息进行比对,从而识别客户端。实现不同子系统共享session时,必须要将其cookie信息的作用域改写为所有域名下,实现在不同子系统上,同一浏览器上传相同的session信息。
【IPC分类】H04L29-08, H04L9-32, H04L29-06
【公开号】CN104836803
【申请号】CN201510201212
【发明人】孙艳艳, 耿小媛, 孙践知
【申请人】北京工商大学
【公开日】2015年8月12日
【申请日】2015年4月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1