单点登录sso详解(附带java实现办法)
的有关信息介绍如下:
单点登录sso是十分重要的登陆模式,它允许在整个大的网络系统之中,只需要用户在访问一个界面的时候,登陆一次,就可以在整个系统中都可以无需再次登陆的访问所有的权限相关资源的架构,今天就让我带着大家一起来看这个单点登陆系统,并且尝试着使用java语言来实现单点登录系统。
在介绍sso实现之前,我们先来讲一下什么是单点登录,sso,也就是single sign on,产生的原因在于不同系统同时运行导致的人们必须记得多份用户名和密码,使得整体的业务流程和操作更加繁琐和浪费时间,这时候我们迫切的期待可以在这些系统之间互信的基础上,可以只用登陆一次就可以在这些系统中无需再次登陆的使用。
下面,我们需要在服务端先部署cas系统,cas在tomcat上就可以正常部署,需要从cas官网上下载一个CAS server 来部署到我们的服务器端,需要注意的是CAS系统默认的是需要SSL协议认证的,如果您是企业内部使用的系统,不想走SSL协议,可以在配置文件里面进行修改 如下图:
(地址为:WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml)
接着,我们需要在服务器端,配置我们登陆的业务逻辑,我们这个时候需要打开WEB-INF\deployerConfigContext.xml文件,配置里面的
这样服务器端的Cas就配置好了,接下来我们需要来配置我们客户端(Client)的单点登录,首先和服务器一样,我们需要从官网上下载CAS服务端的jar包,加载到我们的项目中去,然后我们需要配置我们的web.xml文件,如下图所示:
虽然上面的xml文件内容许多,但是其实我们只需要配置下图的两个小块就可以配置好我们客户端的CAS架构了,如下图所示,我们需要配置我们前面配好的CAS单点登录的服务器地址,还有就是我们的项目地址,这样就可以了:
最后我们要注意到,我们的CAS服务器在验证通过之后,会把我们用户的用户名等信息返回,这个时候我们的客户端需要把这些信息打包成session,以备于将来的其他页面的登陆权限使用上,以下是一个简单的session创建实例,创建好了我们的sso单点登录也就实现了,是不是很简单呢?



