zoukankan      html  css  js  c++  java
  • 单点登陆

    1.单系统登陆和单点登陆

    虽然单系统的登录解决方案很完美,但对于多系统应用群已经不再适用了,为什么呢?

    单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器与服务器之间维护会话状态。但cookie是有限制的,这个限制就是cookie的域(通常对应网站的域名),浏览器发送http请求时会自动携带与该域匹配的cookie,而不是所有cookie。

     2.cookie无法支持多系统

    既然这样,为什么不将web应用群中所有子系统的域名统一在一个顶级域名下,例如“*.baidu.com”,然后将它们的cookie域设置为“baidu.com”,这种做法理论上是可以的,甚至早期很多多系统登录就采用这种同域名共享cookie的方式。

    然而,可行并不代表好,共享cookie的方式存在众多局限。首先,应用群域名得统一;其次,应用群各系统使用的技术(至少是web服务器)要相同,不然cookie的key值(tomcat为JSESSIONID)不同,无法维持会话,共享cookie的方式是无法实现跨语言技术平台登录的,比如java、php、.net系统之间;第三,cookie本身不安全。

    3.单点登陆原理

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

    相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。这个过程,也就是单点登录的原理

    原文地址:http://www.importnew.com/22863.html

  • 相关阅读:
    在线客服系统前端多国语言实现方案和代码
    索引下推,这个点你肯定不知道!
    拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock
    现在已经卷到需要问三色标记了吗?
    听说你对explain 很懂?
    面试官:你说说一条更新SQL的执行过程?
    面试官:你说说一条查询SQL的执行过程
    别再纠结线程池大小线程数量了,没有固定公式的
    记一次慢SQL优化
    缓存热点,缓存穿透,终极解决方案看过来
  • 原文地址:https://www.cnblogs.com/fengxiaoliu/p/8644771.html
Copyright © 2011-2022 走看看