针对Web遗留系统的基于Cookie和过滤器的单点登录技术研究开题报告

 2021-12-14 21:38:00

1. 研究目的与意义(文献综述)

1、目的及意义(含国内外的研究现状分析)

1.1 研究目的

单点登录(SingleSign On),简称为 SSO,是目前较为主流的统一认证和授权机制,指在访问同一服务器不同应用或网页时受认证的同一用户只需要登录一次即可访问不同应用或网页,无需多次重复登录验证的功能。简单来说,单点登录满足了用户只需登录一次就可以访问所有相互信任的应用系统,无需重复登录的需求。但是遗留系统(legacy system)不能修改,无论软件架构、硬件架构,还是数据架构,都是使用的很早期的商用解决方案,大多数都是一些单独、孤立的系统,几乎无法与其他系统构成一次登录处处认证的逻辑,这是子系统间的单点登录解决方案中亟待解决的一个问题。

1.2研究意义

单点登录无论对于企业还是用户来说都提高了工作的效率与质量、提供了便利。对于大型网站,单点登录的使用极为频繁。在一个大型主网站的背后是成千上万个子系统,对于用户来说,用户的一次操作或者行为可能涉及到许多子系统的协同完成,如果每个子系统都需要用户单独认证,那么用户将付出大量的时间成本与学习成本,对于企业来说,在多个子系统中实行统一的单点登录不仅有利于构建统一、整体的企业形象,更能获得用户的认可,而且减少了服务器的使用量,各子系统也无需构建重复认证授权的逻辑,从而为企业的管理与信息安全提供了保障。但是遗留系统却对单点登录造成了阻碍,遗留系统年代久远,人员更迭频繁,对当前的维护人员来说,遗留系统就是一个黑盒,只知道它外在的能力是什么,但是内部运行逻辑已经没有几个人能讲清楚了,这就对业务的配置与部署、参数的配置与接口设计造成了困难,对不同子系统间的单点登录造成了阻碍。因此,研究开发基于Cookie和过滤器的单点登录技术,使得在Web遗留系统不作修改的情况下,在Web遗留系统实现单点登录功能就显得十分重要。

1.3 国内外研究现状

开源的单点登录解决方案目前最有代表性的是Yale University的CAS(Central AuthenticationServer)单点登录系统,它是一个开源的企业级单点登录解决方案。从结构上看,CAS包含两个部分:CAS Server和CAS Client。CAS Server需要独立部署,主要负责对用户的认证工作;CAS Client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server。Client可支持非常多的客户端,包括Java、.Net、Php、Perl、Apache、Ruby等。除了CAS之外还有很多开源的SSO方案,其中Kerberos和SAML也提供另外一种方式的SSO。Kerberos是一种网络认证协议,原由麻省理工学院研发。该协议模型包含两个主要组成部分:认证服务器AS和票据许可服务器TGS。AS用于连接并维护一个中央数据库存放用户口令、标识,对用户身份进行判断。TGS用于发放许可票据(Ticket Granting Ticket)。用户登录时由服务器产生一个票据,利用对称加密算法实现票据的校验。用户通过票据获得了服务器和各个应用之间的信任,从而拥有对信任域内应用的访问权限。

商用的单点登录方案根据应用程序的登录方式可以分为两类:基于脚本(Script)的单点登录解决方案与基于访问票据(Access Ticket)的单点登录解决方案。目前,主要的两个单点登录标准有微软的Windows Passport和Sun领导下的Liberty。企业内部的单点登陆,已经提出了很多解决方案,典型的是采用集中的单点登陆服务器。而对于更广泛的企业间的基于网络应用间的单点登陆,集中的单点登陆服务器这种解决方案则显得不太可行。而Windows Passport和Liberty虽然倾向于实现企业间系统的单点登录,但自身也存在着一定的缺陷。从根本上说,Windows Passport属于一种基于访问票据的集中式单点登录模式。所有的用户信息都存放在Passport.com中,由Passport.com负责统一的身份验证。Passport的访问票据,以Cookie的形式存放在用户的浏览器里,如果用户的浏览器关闭了Cookie的功能,就无法使用单点登录的服务。Liberty协议是基于SAML标准的一个面向Web应用单点登录的与平台无关的开放协议。它的核心思想是身份联合(Identity Federation)在Liberty协议中,也一样使用了Cookie来存放访问票据。由于Cookie固有的不安全性,这些票据一般都经过数字签名或加密来保证安全。

2. 研究的基本内容与方案

2、研究(设计)的基本内容、目标、拟采用的技术方案及措施

由于遗留系统无法修改这个特性,所以就需要通过Web 过滤器(Web Filter)来实现单点登录。过滤器是向Web应用程序的请求和响应添加功能的Web服务组件,过滤器可以统一的集中处理请求和响应同时也可以实现对请求数据的过滤。基于这一特性,我们可以使用Web 过滤器来实现用户登录信息的代填,然后通过一个统一身份认证系统完成该口令与各子系统账户直接的绑定,由此实现单点登录功能。

图1 基于过滤器的单点登录系统

用户在第一次登陆的情况下,点击登录请求,这个请求发送到服务器上对Servlet处理之前被Filter拦截了,经过Filter时,此时无cookie无session,则会跳转到登陆页面,然后将此时用户输入的账户与密码保存并与用户数据库中的主账户密码绑定(如果没有则新建一个主账户密码并绑定),通过登录系统登录应用或网页。此后,用户再次登录该网页或者在其他相互信任的网站登录时,Filter先从session中取出用户数据,看看用户是否存在,如果用户数据存在,则表示用户没有离开页面,如果用户是空,说明用户已经离开页面,并跳转到统一登录系统,如果数据库中存在该用户,返回应用网页的账户密码,Filter将再次确认返回的信息是否有效,如果有效则代为完成子系统账户密码的填写,完成登录请求。当然,在很多情况下登录这个请求是后台自动发出的,当子系统自动完成上述过程的同时,也就完成了单点登录的目标与要求。

3. 研究计划与安排

3、进度安排

第1周—第3周 搜集资料,撰写开题报告;

第4周—第5周 论文开题;

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献(12篇以上)

4、参考文献

[1] Joshua Bloch.Effective Java ProgrammingLanguage Guide[M]. Addison-Wesley Professional. 2018

[2] RFC 2109: HTTP State Management Mechanism

[3]. Mastercard International Incorporated;Patent Issued for Systems and Methods for Providing Single Sign-OnAuthentication Services (USPTO 10,382,428) [J]. Computers, Networks Communications,2019.

[4]. ServiceNow Inc.; Patent Issued for SingleSign-On User Interface Improvements (USPTO 10,484,358) [J]. Computers,Networks Communications,2019.

[5] Anonymous. SINGLESIGN-ON IN EDUCATION: A Model for Success[J]. Tech Learning,2017,38(5).

[6]张开.基于Cookie的单点登录实现[J].价值工程,2012,31(05):154-155.

[7]王小红.基于Cookie的单点登录认证机制实现[J].重庆工商大学学报(自然科学版),2014,31(08):73-78.

[8]王俊才.一种基于Cookie的单点登录的设计和实现[J].计算机与数字工程,2008(04):94-95 111.

[9]王川,牟琳,贺婷婷,宋颖涛.基于跨平台域用户单点登录功能的设计和实现[J].数字通信世界,2017(09):106.

[10]王先花,李超燕.基于filter过滤器技术的单点登录应用[J].计算机应用与软件,2013,30(03):327-329.

[11]郑志伟.基于CAS单点登录系统的实现[J].金融科技时代,2017(03):48-50.

[12] 郭浩平,统一身份认证与授权集成及互操作技术研究[D]. 武汉,武汉理工大学. 2012年5月

[13]龙毅宏,唐志红,王亚龙,谢坤轩.面向HTTP身份鉴别协议的单点登录透明集成技术研究[J].计算机应用研究,2013,30(09):2813-2818.

[14]唐志红,龙毅宏,吴志奇.面向Web Form身份鉴别的单点登录透明集成技术[J].软件,2014,35(08):75-78.

[15]戚利娜.基于Cookie的同域单点登录的实现[J].科技创新与应用,2017(16):101-102.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。