python后端,一个账户,多设备登录管理

这篇具有很好参考价值的文章主要介绍了python后端,一个账户,多设备登录管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一个账号,多台设备同时登陆的问题,设计以及实现
参考这篇文章:

https://www.alibabacloud.com/help/zh/tair/use-cases/manage-multi-device-logon-from-a-single-user-by-using-tairhash

1.0 设计思路

利用的是Redis,主设备的保存问题,可使用MySQL进行设置实现
同时允许3台设备在线

只是设计思路,数据库的使用,可以按照公司的要求
多设备
Redis实现的设计
python后端,一个账户,多设备登录管理,python,开发语言
参考
云原生内存数据库设计
python后端,一个账户,多设备登录管理,python,开发语言

Tair自研的拓展数据结构TairHash,实现用户多设备登录管理。TairHash不仅支持Key级别的过期设置,同时还支持Field级别的过期操作。可以将用户ID设置为Key、将设备类型设置为Field、将用户Token设置为Value,同时可对Field设置过期时间,简单又高效。

2.0 基于tair 实现

安装依赖

pip3 install tair

代码文章来源地址https://www.toymoban.com/news/detail-692702.html

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import time
from tair import Tair
from tair import ResponseError


def get_tair() -> Tair:
    """
    该方法用于连接Tair实例。
    * host:Tair实例连接地址。
    * port:Tair实例的端口号,默认为6379。
    * username:Tair实例的账户,可不填,使用默认账号登录。
    * password:Tair实例的密码。
    """
    tair: Tair = Tair(
        host = "r-bp************.redis.rds.aliyuncs.com",
        port = 6379,
        db = 0,
        username = "",
        password = "D****123",
    )
    return tair


def add_user_pass(userID: str, device: str, token: str, timeout: int) -> bool:
    """
    该方法为通过EXHSET命令,将用户登录信息存入TairHash数据结构中。
    * 将用户ID(userID)设置为Key。
    * 将设备类型(device)设置为Field。
    * 将用户Token(token)设置为Value。
    * 将用户Token的过期时间设置为Ex。
    """
    try:
        tair = get_tair()
        ret = tair.exhset(userID, device, token, ex=timeout)
        return ret == 1
    except ResponseError as e:
        print(e)
        return False


def print_up(userID):
    """
    该方法打印未过期的用户Token信息。
    """
    for i in tair.exhgetall(userID):
        print('{}:{}'.format (userID,i))


if __name__ == "__main__":
    tair = get_tair()
    # 添加user1、user2测试数据。
    user_1 = "user1"
    user_2 = "user2"
    add_user_pass(user_1, "phone", "token_123", 5)
    add_user_pass(user_1, "pad", "token_124", 10)
    add_user_pass(user_2, "pad", "token_456", 10)
    add_user_pass(user_2, "pc", "token_457", 10)
    # 等待6s。
    print("Wait 6 seconds")
    time.sleep(6)
    # 打印此时未过期的用户Token信息。
    print_up(user_1)
    print_up(user_2)
            

3.0 基于Redis的实现(配合自己公司的框架)

到了这里,关于python后端,一个账户,多设备登录管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android开发----实现登录注册页面(创建本地数据库,对注册的账户密码进行存储)

    写在前面: 本文实现了登录注册页面的开发,创建了本地数据库,存储注册的账户密码。注册账户为手机号,对账户为手机号进行了正则化验证。登录成功跳转至主页面。 20221028-实现登录注册功能 首先说一下,项目部署是在原有项目新建两个activity( 项目右键–new–activi

    2024年02月03日
    浏览(36)
  • 从vue小白到高手,从一个内容管理网站开始实战开发第七天,登录功能后台功能设计--通用分页、枚举以及相关工具类

    上一篇实现了数据库访问层的相关功能,还没有了解的小伙伴可以去看前面文章实现的内容,因为每一篇内容都是连贯的,不学习的话可能下面的内容学习起来会有点摸不着头脑 从vue小白到高手,从一个内容管理网站开始实战开发第六天,登录功能后台功能设计--API项目中的

    2024年01月22日
    浏览(30)
  • 从vue小白到高手,从一个内容管理网站开始实战开发第八天,登录功能后台功能设计--业务逻辑层基础接口和基础服务实现

    上一篇我们介绍了项目后续要使用到的工具类,关于工具类的创建可以查看 从vue小白到高手,从一个内容管理网站开始实战开发第七天,登录功能后台功能设计--通用分页、枚举以及相关工具类-CSDN博客 文章浏览阅读2次。本次内容主要介绍了项目后续用到的部分工具类,这些

    2024年01月22日
    浏览(31)
  • 如何使用VxTerm进行网络设备登录管理

    咱们一般做设备,如安全设备、路由网关、交换机、服务器等运维管理时,一般都需要用到一个叫做SSH工具、Telnet工具的,下载一个VxTerm,就可以实现。 软件地址:https://download.csdn.net/download/mynjer/87769610 下载完成后,直接点开就可以使用,无需安装、注册,默认情况下也无需

    2024年02月08日
    浏览(34)
  • Python - 银行账户管理系统

    题目 设计并实现一个简单的银行账户管理系统,具有以下功能: 记录用户的账户信息,包括账户名,账户号码和余额 允许用户进行存款和取款操作 允许用户查询账户余额 请设计响应的类和方法,并编写代码实现该银行账户管理系统。 思路 首先设计一个账户类:Account,类

    2024年02月03日
    浏览(34)
  • 无线路由器开启指定MAC设备登录管理页面方法图解

    自己的路由器设置被别人改了?设置了登陆密码还不放心?教大家一招,只有自己指定的设备才能登陆路由器管理页面。下面以TP-LINK的路由器为例,首先打开路由器的管理页面找到“安全功能局域网WEB管理”,如下图所示。 然后勾选“仅允许列表中的MAC地址访问本WEB管理页

    2024年02月08日
    浏览(46)
  • 【JavaWeb后端开发-第六章(3)】SpringBootWeb案例—登录认证

        在前面的章节中,我们已经实现了 部门管理 、 员工管理 的基本功能,但是大家会发现,我们并没有登录,就直接访问到了Tlias智能学习辅助系统的后台。 这是不安全的,所以我们今天的主题就是 登录认证 。 最终我们要实现的效果就是用户必须登录之后,才可以访

    2024年01月19日
    浏览(38)
  • 锐捷交换机——配置设备登录管理方式:Telnet、SSH、CONSOLE

    目录 Ⅰ  创建管理IP Ⅱ  配置默认网关 Ⅲ  Telnet 方式登录 Ⅳ  SSH 方式登录 Ⅴ  CONSOLE 方式登录   二层交换机由于不支持路由口,只能使用SVI进行管理,三层交换机的设备管理地址可以采用SVI或路由口进行管理。 二层交换机: 二层交换机配置IP地址是用于管理设备使用,比

    2024年02月05日
    浏览(146)
  • 图书管理系统登录页面--课后程序(Python程序开发案例教程-黑马程序员编著-第12章-课后作业)

    登录与注册是程序中最基本的模块。用户只有登录成功后,才可以使用应用系统中的全部功能。若用户没有登录账号,可通过注册界面设置登录账号信息。某图书管理系统的登录窗口如图1所示。   登录界面 图1的窗口中包含用户名、密码、验证码、登录、注册、退出。当用户

    2024年02月03日
    浏览(34)
  • 动手搓一个kubernetes管理平台(3)-后端框架

    后端框架的选择面比较大,由于不涉及复杂的调度/分布式管理等场景,所以后端选用一个标准的web server即可,比如gin, iris, beego等等,因为正好最近在看iris的一些项目,所以就选用了irsi+corba的框架进行后端开发 。 通过cobra进行初始化的操作就不在赘述,这边先show一下相关的

    2024年01月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包