一种单点登录系统的制作方法

文档序号:7865358阅读:377来源:国知局
专利名称:一种单点登录系统的制作方法
技术领域
一种登录系统,具体为一种中央服务登录系统。
现有技术目前企业内部的各业务子系统都有独立的登录及认证系统,在使用不同的子业务系统时,每一位用户必须在各个业务子系统内进行注册和登录,才能够使用用户选择的业务子系统。管理多组用户名密码非常容易混淆,而且在各业务子系统之间频繁的切换登录也给用户的使用带来了不便。

发明内容
为了解决上述技术问题,本发明提出一种单点登录系统,包括访问端,客户端,服务端;所述访问端,所述客户端,所述服务端各由一台以上计算机组成;所述访问端,所述客户端,所述服务端两两互相连接。其中所述客 户端设置过滤器;所述访问端用于发出Web访问请求;
所述客户端用于校验所述web访问请求中是否包含一服务凭证I ;
校验成功,所述访问端访问目的资源地址;
校验失败,所述客户端定向所述web访问请求至所述服务端,并传递访问的目的资源地址至所述服务端;
所述服务端用于验证访问端用户的登录信息;
登录失败,所述服务端不予响应;
登录成功,所述服务端随机产生一个服务凭证2,储存至所述服务端缓存,将访问端登录成功的信息储存至所述客户端缓存,返回服务凭证2至所述访问端,对将所述web访问请求定向至所述目的资源地址,访问端访问资源。其中,配置数个所述客户端与一个所述服务端时,一个所述服务端与数个所述客户端分别对应,所述客户端之间无直接联系。其中,配置数个所述客户端与一个所述服务端时,所述访问端依次序分别向所述客户端发出web访问请求,所述客户端依所述次序与所述服务端交互。其中,配置数个所述客户端与一个所述服务端时,且所述访问端依所述顺序分别向所述客户端发出web访问请求时,处于第二顺位的所述客户端校验第一顺位的所述客户端校验成功的服务凭证,视第一顺位的所述客户端校验成功的服务凭证合法,校验成功。其中,所述访问端,所述客户端,所述服务端之间的交互采用SSL协议。其中,客户端和服务端供了代理模式。采用单点登陆系统方案后,访问端访问不同客户端所持有的不同资源时,由于服务端在通过一次用户合法登陆后可以向客户端提供服务凭证,客户端视服务端所提供的服务凭证合法,进而不需要重复登陆输入验证信息。


图1为本发明单点登录系统的一个实施例示意图。
具体实施例方式如图1所示,在本发明的一项优选实施例中,服务端包括一台计算机,客户端包括两台计算机,分别为Pcl和pc2。访问端为用户计算机,用户计算机分别访问实验数据库1,实验数据库2。用户计算机递交web访问至服务端PCI,服务端PCI校验用户处计算机是否持有服务凭证ticket。服务端pci通过校验发现用户计算机无服务凭证,生成service参数并将用户计算机重新定向服务端计算机。服务端计算机调用认证策略,认证成功生成服务凭证ticket,返回服务凭证ticket I,用户计算机使用服务凭证ticket I访问客户端pci,客户端Pd交由服务端验证服务凭证ticketl有效性,验证成功服务端返回服务凭证ticket2至用户计算机。用户计算机成功访问实验数据库I。用户计算机使用服务凭证ticket2访问用客户端pc2,客户端pc2交由服务端验证服务凭证ticket2有效性,验证成功服务端返回服务凭证ticket3至用户计算机,用户计算机使用服务凭证ticket3访问客户端pc2,客户端pc2交由服务端验证服务凭证ticket3有效性,验证成功,服务端向客户端pc2写入缓存session,客户端pc2向用户计算机返回验证成功的信息,用户计算机成功访问实验室数据2。具体操作方式
服务端应用证书导入,将证书文件上传至服务端应用服务器,保存在C:\bstsso. cer进入客户端应用所使用的JDK目录cd $JAVA_H0ME导入证书
keytool -1mport -alias bstsso -keypass changeit -keystore . /jre/lib/security/cacerts -file /home/bstsso. cer查看证书导入情况
keytool -list -alias bstsso -keystore ./jre/lib/security/cacerts
在客户端应用WEB-1NF/lib下附加所需类包
cas-client-core-3. 2.1. jar
casclient核心类包,可以从如下路径获取
svn://192. 168. 3. 17/BSTPRJ/BSTB0SS-V1. 0/2-SRC/02-Branch/cas-client-3. 2.1/modules/cas-client-core-3. 2.1. jarcommons-logging-1.1. jar
日志相关类,可以从如下路径获取,如果源项目中已有该类包,就不必重复svn://192. 168. 3. 17/BSTPRJ/BSTB0SS-V1. 0/2-SRC/02-Branch/cas-client-3. 2.1/modules/commons-logging-1.1. jar
在客户端应用的WEB-1NF/web. xml配置文件中加载相应的filter和listener配置,如下<filter>
<fiIter~name>CAS Single Sign Out FiIter</fiIter~name>
<filter-class>
org. jasig. cas. client, session. SingleSignOutFilter</filter-class>
</filter>
<filter>
<fiIter~name>CAS Authentication Filter〈/filter_name>
<filter-class>org. jasig.cas. client.authentication.AuthenticationFiIter〈/filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>https:// sso.bl14. com. cn:8443/cas/login</
param-value>
</init-param>
<init-param>
〈!一serverName参数根据client应用对应域名及地址情况进行调整一><param-name>serverName</param-name>
<param-value>http://192. 168. 184. 1:8080</param-value>
<! —
<param-name>service</param-name>
<param-value>http://192. 168. 184.1:8080/cas-clientl/index. jsp</
param-value>
—>
</init-param>
</filter>
<filter>
<fiIter~name>CAS Validation Filter〈/filter_name>
<filter-class>org. jasig. cas. client, validation. Cas20ProxyReceivingticketValidationFiIter</filter-class>
<init-param>
<param-name>casServerUrIPrefix</param-name>
<param-value>https:// sso. bll4. com. cn:8443/cas</param-value>
</init-param>
<init-param>
〈!一serverName参数根据client应用对应域名及地址情况进行调整一><param-name>serverName</pa ram-name>
<param-value>http://192. 168. 184. 1:8080</param-value>
<! —<param-name>service</param-name>
<param-value>http://192. 168. 184. 1:8080/cas-clientl/index. jsp</
param-value>
—>
</init-param>
</filter>
<filter>
<fiIter~name>CAS HttpServletRequest Wrapper Filter〈/filter_name>
<filter-class>org. jasig. cas. client, util. HttpServletRequestWrapperFiIter〈/filter-class>
</filter>
<filter>
<fiIter~name>CAS Assertion Thread Local Filter〈/filter_name>
<filter-class>
org. jasig. cas. client, util. AssertionThreadLocalFilter</filter-class>
</filter>
<fiIter_mapping>
<fiIter~name>CAS Single Sign Out FiIter</fiIter~name><url_pattern>/氺</url_pattern>
</fiIter_mapping> <fiIter_ mapping>
<fiIter~name>CAS Authentication Filter〈/filter_name>
<url_pattern>/氺</url_pattern>
</fiIter_mapping>
<fiIter_mapping>
<fiIter~name>CAS Validation Filter〈/filter_name>
<url_pattern>/氺</url_pattern>
</fiIter_mapping>
<fiIter_mapping>
<fiIter~name>CAS HttpServletRequest Wrapper Filter〈/filter_name><url_pattern>/氺</url_pattern>
</fiIter_mapping>
<fiIter_mapping>
<fiIter~name>CAS Assertion Thread Local Filter〈/filter_name><url_pattern>/氺</url_pattern>
</fiIter_mapping>
〈listener〉
<listener_class>org. jasig. cas. client, session. SingleSignOutHttpSessionListener</listener_class>
〈/listener〉
重启CASClient应用,访问CASClient页面,如http ://192. 168. 3. 244:9080/simpleApp/index, jsp
第一次访问时会显示CASServer登录界面,成功登录之后正确显示index, jsp页面。
权利要求
1.一种单点登录系统,包括访问端,客户端,服务端;所述访问端,所述客户端,所述服务端各由一台以上计算机组成;所述访问端,所述客户端,所述服务端两两互相连接,其特征在于所述客户端设置过滤器;所述访问端用于发出Web访问请求;所述客户端用于校验所述web访问请求中是否包含一服务凭证I ;校验成功,所述访问端访问目的资源地址;校验失败,所述客户端定向所述web访问请求至所述服务端,并传递访问的目的资源地址至所述服务端;所述服务端用于验证访问端用户的登录信息;登录失败,所述服务端不予响应;登录成功,所述服务端随机产生一个服务凭证2,储存至所述服务端缓存,将访问端登录成功的信息储存至所述客户端缓存,返回服务凭证2至所述访问端,对将所述web访问请求定向至所述目的资源地址,访问端访问资源。
2.根据权利要求1所述的单点登录系统,其特征在于配置数个所述客户端与一个所述服务端时,一个所述服务端与数个所述客户端分别对应,所述客户端之间无直接联系。
3.根据权利要求1所述的单点登录系统,其特征在于配置数个所述客户端与一个所述服务端时,所述访问端依次序分别向所述客户端发出web访问请求,所述客户端依所述次序与所述服务端交互。
4.根据权利要求3所述的单点登录系统,其特征在于配置数个所述客户端与一个所述服务端时,且所述访问端依所述顺序分别向所述客户端发出web访问请求时,处于第二顺位的所述客户端校验第一顺位的所述客户端校验成功的服务凭证,视第一顺位的所述客户端校验成功的服务凭证合法,校验成功。
5.根据权利要求1所述的单点登录系统,其特征在于所述访问端,所述客户端,所述服务端之间的交互采用SSL协议。
6.根据权利要求1所述的单点登录系统,其特征在于客户端和服务端供了代理模式。
全文摘要
一种登录系统,包括访问端,客户端,服务端;所述访问端,所述客户端,所述服务端各由一台以上计算机组成;所述访问端,所述客户端,所述服务端两两互相连接。所述访问端用于发出Web访问请求;所述客户端用于校验所述web访问请求中是否包含一服务凭证;所述服务端用于验证访问端用户的登录信息;采用单点登陆系统方案后,访问端访问不同客户端所持有的不同资源时,由于服务端在通过一次用户合法登陆后可以向客户端提供服务凭证,客户端视服务端所提供的服务凭证合法,进而不需要重复登陆输入验证信息。
文档编号H04L29/06GK103036945SQ20121045554
公开日2013年4月10日 申请日期2012年11月14日 优先权日2012年11月14日
发明者李靖春 申请人:上海百事通信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1