精华内容
下载资源
问答
  • 用户发起登录请求,如果登录成功,浏览器会创建一个session,然后程序去处理,将sessionid放入cookie中, 然后将sessionid当作key,用户信息当作value将放入redis里面,因为cookie是在同一域名下共享的,所以nginx...

    用户发起登录请求,如果登录成功,浏览器会创建一个session,然后程序去处理,将sessionid放入cookie中, 然后将sessionid当作key,用户信息当作value将放入redis里面,因为cookie是在同一域名下共享的,所以nginx轮询的时候多个环境相同的域名cookie是可以共享的;

    为什么要共享呢??这是因为从多个前台获取cookie能够保持一致,能够获取到cookie中存入的sessionid,拿到这个sessionid之后,我们可以在不同的环境中根据这个sessionid去redis中拿用户信息;拿到这个用户信息是最终目的;

     

    由于用户登录成功到退出,只能发起一次用户登录的请求,成功后创建sessionid,这个sessionid到会一直存在于浏览器的cookie中,退出后会将这个sessionid这是为0;cookie失效从redis数据库中删除这个可以;等到session再次发起请求,再次创建sessionid保存到redis和cookie中,如此循环;

     

    个人原创,转载请告知我,

    展开全文
  • 1、点击首页的登陆按钮跳转到京东的登陆中心https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fwww.jd.com%2F,然后输入用户名、密码验证,验证通过跳转到ReturnUrl指定的地址,也...
    可以先看下这边文章:http://blog.chinaunix.net/uid-25508399-id-3431705.html
     

    1、点击首页的登陆按钮跳转到京东的登陆中心https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fwww.jd.com%2F,然后输入用户名、密码验证,验证通过跳转到ReturnUrl指定的地址,也就是京东首页

     

    2、首页通过Jquery.getJSON()方法发起http://passport.jd.com/new/helloService.ashx请求,跨域获取需要跨域设置登陆cookie的应用列表,返回一个Json数据

    3、js遍历sso,通过jQuery.ajax()方法对其中的每条数据发起跨域的jsonp请求,我猜测京东的js代码大概是这么写的

     

    [javascript]  view plain  copy
     
    1. <script type="text/javascript">  
    2. $.ajax({  
    3.   type:"get",  
    4.   dataType:"jsonp",/*-----------------------*/  
    5.   url: "http://sso.jd.com/setCookie?t=sso.minitiao.com&callback=?",/*-----------------------*/  
    6.   crossDomain:true,/*-----------------------*/  
    7.   success: function(data){  
    8.         },  
    9.   beforeSend:function(){  
    10.         },  
    11.   complete:function(data,status){  
    12.         }  
    13. });  
    14.   
    15. </script>  

     

    请求的结果是这样的:

    可以看到返回一个重定向的Response,而且是跨域的重定向,由于发起的是跨域的jsonp请求,所以浏览器会根据返回的重定向url发起一次请求,也就是最后的跨域设置Cookie的请求

    4、浏览器发起sign请求跨域设置Cookie,请求和返回结果如下

     

     

    返回的Response header中含有Set-Cookie项,这样就在sso.minitiao.com域名下设置了Cookie,可以打开sso.minitiao.com发现确实有了ceshi3.com这样一个Cookie

     

    5、至此京东就完成了单点登录的全过程

     

     

    http://blog.csdn.net/clh604/article/details/20365967

    展开全文
  • 针对单点登录过程的配置全过程,包括在服务器端生成证书的每一步操作和客户端如何导入证书,以及再配置过程中容易出现错误的地方。对于初学单点登录的同志们是相当实惠的,我也是找了好多资料才搞定就和大家分享一下
  • 主要介绍了Spring session实现共享单点登录案例过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、...
  • Sina SSO 登陆过程分析 【单点登录分析】 ...其独创的一点是实现了 Ajax 单点登陆,算是比较牛。实现原理是 iframe+ javaScript 回调函数。 一,初级 SSO 初级的 SSO ,就是在同一个顶级域名下,通
     
    
    近日研究了 Sina CAS 的登陆过程,发现其实 sina 的 sso 实现了 yale-CAS 并且添加一丁点新的东西,基本认证过程交互流程仍然未变。其独创的一点是实现了 Ajax 单点登陆,算是比较牛。实现原理是 iframe+ javaScript 回调函数。

    一,初级 SSO

    初级的 SSO ,就是在同一个顶级域名下,通过种入顶级域名的 Cookie ,来实现统一登陆。例如:

    单点登陆地址: sso.xxx.com/login.jsp

    应用 1 : web1.xxx.com/login.jsp

    应用 2 : web2.xxx.com/login.jsp

    应用 3 : web3.xxx.com/login.jsp

    登陆流程:

    情况一:(用户从未登陆)

    1,  用户访问 web1.xxx.com/login.jsp , web1 重定向到 sso.xxx.com/login.jsp

    2,  用户输入验证,成功。 sso.xxx.com 种入 .xxx.com 域 Cookie 的 tokenid ,重定向到 web1.xxx.com/login.jsp , web1.xxx.com 访问 .xxx.com 域 Cookie 的 tokenid 判断出已经登陆,系统登陆完成。

    情况二:(用户已经登陆)直接登陆。

    二, Sina SSO

    Sina 实现了跨域名的统一登陆,本质也是基于 Cookie 的。如果用户禁用 Cookie ,那么无论如何也是登陆不了的。例如: Sina SSO 服务器是 login.sina.com.cn/sso/login.php

    ,微博登陆地址为 weibo.com/login.php 。通过回调函数和 iframe 实现了跨一级域名的登陆。

    认证过程具体流程:这里只介绍用户从未登陆过。

    1,  用户进入 weibo.com/login.php

    2,  用户输入用户名称。输入完毕后,当用户名输入框焦点失去的时候,页码通过 ajax 向服务器 login.sina.com.cn/sso/prelogin.php 发送请求,参数为 user (刚刚输入的用户名)。服务返回 server time 和 nonce 认证,通过回调函数写入到 javascript 变量中。

    3,  用户输入密码,点击登陆,页面 POST 请求(注意是 ajax 请求,并不是 login.php 发送的 ),

    login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.12) ,请求的发起的页面是 weibo.com/login.php 中的一个不可见 iframe 页面,参数为第二步得到的 server time 和 nonce ,已经用户名称和加密的密码。返回种入 Cookie  tgt 在 login.sina.com.cn 下。同时修改 iframe 地址为 weibo.com/ajaxlogin.php?ticket=XXXXXX, 注意 ticket 非常重要,这是用户登陆和服务的凭证。

    4,  iframe 访问 weibo.com/ajaxlogin.php?ticket=XXXXXX ,用户登陆,返回种入 cookie 在 .weibo.com 下,记录用户登陆信息。

    5,  通过 js 再次访问 weibo.com/login.php ,因为 cookie 已经写入,登陆成功,服务器发送 302 ,重定向到用户主页面。 Weibo.com/userid 。

    6,  至此,登陆过程完成。
    展开全文
  • CAS单点登录配置全过程,这里只是简单的配置了CAS单点登录过程,并没有加入复杂的验证,也没有做MD5的校验。输入数据库中存在的用户名跟密码就会登录成功
  • 跨服务器登录验证(单点登录SSO)过程和Java实现
  • 跨服务器登录验证(单点登录SSO)的过程和Java实现
  • 单点登录单点注销

    千次阅读 2018-02-05 15:22:59
    前言:  单点登录的原理,请参见:... Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录单点注销两部分。  

    前言

          单点登录的原理,请参见:http://blog.csdn.net/aa46449521/article/details/79073605

    单点登录

         什么是单点登录?单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分。

         下面开始单点登录的过程:认证系统根据用户在浏览器中输入的登录信息,进行身份认证,如果认证通过,返回给浏览器一个证明ticket(票);用户再访问其它应用系统时,会带着ticket;应用系统接收到ticket后,会将其发送到认证系统进行合法性校验;校验通过后,用户就不需要再次输入用户名密码来登录了,从而实现了单点登录的功能

           要实现SSO,首先必须要有统一的认证系统,其次每个应用系统都通过认证系统来校验用户,所以这需要两方面的配合。WEB-SSO是比较好实现的,尤其是共同父域的情况下,我们可以通过浏览器的cookie来保存ticket。今天我用Servlet技术实现了SSO的主要功能,可以在下载项目。

    下载源码地址:http://download.csdn.net/download/aa46449521/10240398   点击打开链接

    域名准备

              修改hosts文件,我的hosts在C:\Windows\System32\drivers\etc路径下映射3个域名:

            
            127.0.0.1       testsso.yao.com  
            127.0.0.1       testsso2.yao.com  
            127.0.0.1       passport.yao.com


    3个域名必须拥有共同父域(.yao.com),testsso和testsso2用于访问应用系统,passport用于访问认证系统。

    项目部署

           项目中包含的是两个Eclipse Project,导入到Eclipse/MyEclipse后,可能需要设置下JavaEE类库。SSOAuth为认证系统,SSODemo为应用系统,如果映射的域名和我设置的一样,不需要设置,直接部署即可。如果不一样,需要修改下两个项目的web.xml文件。关键配置信息如下:
           SSOAuth/WEB-INF/web.xml:

    <servlet>
        <servlet-name>SSOAuth</servlet-name>
        <servlet-class>com.yao.servlet.SSOAuth</servlet-class>
        <init-param>
          <param-name>cookieName</param-name>
          <param-value>SSOID</param-value>
        </init-param>
        <init-param>
          <param-name>domainName</param-name>
          <param-value>.yao.com</param-value>
        </init-param>
        <init-param>
          <param-name>secure</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>secretKey</param-name>
          <param-value>111111112222222233333333</param-value>
        </init-param>
        <init-param>
          <param-name>ticketTimeout</param-name>
          <param-value>10080</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>SSOAuth</servlet-name>
        <url-pattern>/SSOAuth</url-pattern>
      </servlet-mapping>
    
    

    SSODemo/WEB-INF/web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>SSODemo</display-name>
      
      <filter>
        <filter-name>SSOAuth</filter-name>
        <filter-class>com.yao.filter.SSOAuth</filter-class>
        <init-param>
          <param-name>SSOService</param-name>
          <param-value>http://passport.yao.com:8080/SSOAuth/SSOAuth</param-value>
        </init-param>
        <init-param>
          <param-name>SSOLogin</param-name>
          <param-value>http://passport.yao.com:8080/SSOAuth/login.jsp</param-value>
        </init-param>
        <init-param>
          <param-name>cookieName</param-name>
          <param-value>SSOID</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>SSOAuth</filter-name>
        <url-pattern>*.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>SSOAuth</filter-name>
        <url-pattern>/logout</url-pattern>
      </filter-mapping>
    </web-app>
    如果域名或端口号和我的不一致,可以修改对应配置项。最后部署到应用服务器中,启动服务器。

    SSO使用

           首先输入第一个应用系统的访问地址,http://testsso.yao.com:8080/SSOdemo/index.jsp,如果是第一次访问的话,会自动跳

    转到登录页:


    系统中内置了3个用户,张三、李四、王五,用户名和密码皆为拼音全拼,输入zhangsan/zhangsan登录后,会自动跳转到我们刚才访问的页面,页面中显示了登录的用户名及欢迎信息,如下图:


    这时,我们再输入第二个应用系统的访问地址,http://testsso2.yao.com:8080/SSOdemo/index.jsp,我们发现,没有进行第二次登录,同样页面中显示了登录的用户名及欢迎信息,如下图:


    我们接着点击Logout注销用户,页面跳转到了登录页面,这时我们再回头访问第一个应用系统的页面,发现同样跳转到了登录页面。这给用户的使用效果就是,一个应用登录了,其它的应用都会自动登录,而一个应用中注销了,其它的应用也都会自动注销。
           项目中提供了源码,代码的实现思路就是上面的那个图,ticket保存在cookie中,利用cookie域的特性,实现了ticket在不同应用中都能够获取到,ticket的验证过程是使用了HttpClient来发送的验证请求,ticket的加密使用了3DES,具体可以看DESUtils.java

    下载源码地址:http://download.csdn.net/download/aa46449521/10240398   点击打开链接

    展开全文
  • 登陆模块之JWT单点登录

    千次阅读 2019-05-29 21:11:16
    单点登录的实现方式 redis实现session共享 jwt单点登录 cas单点登录 买单点登录服务器 本篇博客着重讲解JWT单点登录 首先来说下什么是无状态登录吧 务器不存登录的状态和数据,每次访问后台的过程中都...
  • 跨服务器登录验证(单点登录SSO)的过程和Java实现.pdf
  • 单点登录

    千次阅读 2019-01-18 09:01:26
    包括单点登录单点注销两部分。跟redis做的tomcat集群的session共享不是一回事。 单点登录原理 相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供...
  • 压缩包中有详细的cas sso 的配置过程,同时提供所需的全部JAR包!
  • CAS单点登陆工具.zip

    2019-05-15 16:29:07
    该资源是CAS单点登陆所需的项目,包含CAS-server-4.2.4、CAS-client-3.2.1,配合我的一篇名为CAS单点登陆实例的博客一起实操,...并深刻理解单点登陆过程和知识点。
  • 单点登陆技术资料

    2013-12-24 16:43:46
    有关单点登陆的实例及技术资料,单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对...
  • 单点登录说明

    千次阅读 2020-03-13 09:20:02
    单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录单点注销两部分 1、登录  相比于单系统登录,sso需要一个独立的...
  • 一个单点登陆的例子++c#写的++包含加密过程
  • 单点登录个人总结

    2018-10-23 18:01:09
    单点登录,Single Sign On,也就是我们平时所说的SSO。一般大型的系统平台,都会用到这个东西。它解决了频繁登录、验证的过程,也就是用户的一次登录得到其他系统的信任。可以说:一次登录,全站漫游。实现单点登录...
  • 单点登录原理及实现过程

    千次阅读 2017-11-17 10:49:18
    一、系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求...
  • 此文档自己亲手从0开始一步一步配置的详尽过程,其中包括keytool创建 、ticket、tomcat配置cas、自定义登录页面,处理服务器返回的乱码,服务退出、cas服务器返回多数据等等文档 包括SSO原理图,以及认证流程图等
  • 单点登录方案实战

    千次阅读 2019-02-20 13:53:14
    单点登录先介绍下:oauth2与单点登陆的区别session-cookie机制session共享方式,实现的单点登陆使用场景实现方法Session共享方式的限制顶级域名不一样的网站怎么办?这时候就需要CAS登场了cas单点登陆方案 先介绍下...
  • 单点登录PPT

    2008-08-21 11:29:00
    PPT详细描述了单点登录认证的整个过程
  • CAS实现单点登录(SSO)过程浅析

    千次阅读 2017-06-06 13:39:03
    一、何谓单点登录 单点登录(Single Sign On),简称为 SSO,简单理解就是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。   二、何谓CAS CAS(Central Authentication Service)是...
  • 代理模式访问过程 ...1、用户先访问CAS单点登录代理端(也就是上一章节中客户端1)的地址 url1:http://localhost:8088/cas-client/test,此地址就是用于普通的单点登录。 2、再访问CAS单点登录代理端地址 url2: ...
  • 落雨 cas 单点登录 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY。 目标:
  • cas单点登录实例生成过程详细讲解

    千次阅读 2016-01-23 14:39:29
    最近公司让我研究cas单点登录,经过一周多的研究终于做出了demo,为了方便自己以后查看也为了给需要的人提供帮助,我决定写成博客。 首先对于单点登录的原理需要有大致的了解,原理网上的帖子很多,我大致说下: ...
  • SSO单点登录实例

    2017-10-10 11:42:45
    一个简单的单点登录实例,提供完整的项目demo源码,实现过程简单易懂,如有更简洁方式?请大家相互学习,不喜勿喷!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 231,017
精华内容 92,406
关键字:

单点登录过程