简单轻松实现单点登录(sso)

前言:

  • 本文虽然使用PHP语言讲单点登录,但是更多讲的是一种实现思想,不仅限于PHP。
  • 该单点登录方案完全实现跨域名。
  • JWT的使用只是生成一个唯一token字符串,也可以不利用JWT。
  • 重要存储Token方式,Cookie与Redis。
  • 支持原创文档。        
  • 该单点登录方案已稳定运用到本人所在公司的项目。
  • 欢迎讨论和提问。

一、WEB程序的“会话机制”

简单回顾:

1.http协议是无状态的

        是指协议对于交互性场景没有记忆能力,每次请求http都会当做一次新的请求。

2.让服务器有记忆能力之Cookie、Session

        WEB到底是如何采用Cookie+Session来进行“会话状态”维护的:

  •  浏览器发起第一次请求,服务器(php)创建一个唯一sessionID
  •  把sessionID设置到cookie中
  •  浏览器发送第二次、第N次请求都会携带cookie中的sessionID,服务器去识别是谁在请求 

3.客户端禁用Cookie之后如何使用Session

        session是基于cookie的,但cookie只是传递一个sessionID,cookie禁用后我们可以利用url传sessionID的方式进行使用session。

4.举例:

        4.1 创建一个session并且,生成几个跳转其他页面的链接

        4.2 点链接后跳转的页面,输出session值

        4.3 演示结果:

        4.4 要实现禁用cookie,地址栏自动携带sessionID需要改php.ini的相关配置:

在php.ini文件中

1.session.use_trans_sid=1 当浏览器禁止cookie时,

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值