单点登录和单设备登录

1 概念

单点登录和单设备登录的区别:

“单点登录”和“单设备登录”是两个完全不同的概念。

单设备登录指:在某个给定的时间,同一用户只能在一台设备上进行登录,如果在其他设备上尝试登录,先前的会话将被中断或注销。

单点登录(简称SSO)指:允许用户使用一组凭据(如用户名和密码)登录到一个系统,然后可以在多个相关系统中,无需重新登录即可访问受保护的资源。

关于“单点登录”的实现,这里简单说一下。一般有两种方式:若后端处理,部署一个认证中心,这是标准做法;若前端处理,可以用LocalStorage做跨域缓存。

2 应用场景

单点登录:多系统登录
单设备登录:会员登录

3 单设备登录实现

要实现单设备登录,一般来说,有两种方式:使用数据库记录登录状态 和 使用令牌验证机制 。

使用令牌验证机制 的实现步骤如下:使用redis
• 用户登录时生成token,将账号作为key,token作为value,并设置过期时间存入redis中。
• 当用户访问应用时,在拦截器中解析token,获取账号,然后用账号去redis中获取相应的value。
• 如果获取到的value的token与当前用户携带的token一致,则允许访问;如果不一致,则提示前端重复登录,让前端清除token,并跳转到登录页面。
• 当用户在另一台设备登录时,其token也会存入redis中,这样就刷新了token的值和redis的过期时间。

使用数据库记录登录状态 的实现步骤如下:使用数据库
• 在用户登录时,记录用户的账号信息、登录设备的唯一标识符(如设备ID或IP地址)以及登录时间等信息到数据库中的一个登录表。
• 每次用户的登录请求都会查询数据库中的登录表,检查是否存在该用户的登录记录。如果存在记录,则比对登录设备的标识符和当前设备的标识符是否相同。
• 如果当前设备与登录设备不匹配,拒绝登录并提示用户在其他设备上已登录。若匹配,则更新登录时间。
• 当用户主动退出登录或超过一定时间没有操作时,清除该用户的登录记录。

相关推荐

  1. 登录设备登录

    2024-02-18 17:14:03       45 阅读
  2. ca登录

    2024-02-18 17:14:03       68 阅读
  3. sso登录

    2024-02-18 17:14:03       34 阅读
  4. 登录统一身份认证的区别

    2024-02-18 17:14:03       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 17:14:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 17:14:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 17:14:03       82 阅读
  4. Python语言-面向对象

    2024-02-18 17:14:03       91 阅读

热门阅读

  1. 【Webpack】CSS 处理

    2024-02-18 17:14:03       51 阅读
  2. C++知识点总结(14):桶的排序、冒泡排序

    2024-02-18 17:14:03       48 阅读
  3. WordPress绑定,实现任意域名访问

    2024-02-18 17:14:03       50 阅读
  4. 百万级并发分布式锁

    2024-02-18 17:14:03       52 阅读
  5. 从零学算法33

    2024-02-18 17:14:03       41 阅读
  6. Docker 数据卷

    2024-02-18 17:14:03       41 阅读
  7. 大数据之数据上云的主要优点

    2024-02-18 17:14:03       53 阅读
  8. 寒假作业2月6号

    2024-02-18 17:14:03       53 阅读