• session&token based auth登录方式描述


    session:

    • 客户端发出登陆请求给服务端,请求包含用户名、密码信息
    • 服务端收到请求,web服务器分析请求后,将用户名和密码传到DB,验证用户名是否存于DB在及密码是否正确(验证密码时将传过来的密码加密后与DB中的密码比对)
    • 如果用户存在且密码正确,则在服务端根据用户信息生成一个session文件,该文件存放于服务端的内存中
    • 服务端返回给客户端登陆成功信息及session_id, session_id存放在客户端cookie中
    • 之后每次访问服务端时,请求中都回带上cookie发给服务端
    • 服务端读取cookie中的sessionid,与内存中的session信息对比,如果存在并且未超时,再通过session中的用户信息从DB读出用户其他信息

    token:

    • 客户端发出登陆请求给服务端,请求包含用户名、密码信息
    • 服务端收到请求,web服务器分析请求后,将用户名和密码传到DB,验证用户名是否存于DB在及密码是否正确(验证密码时用将传过来的密码加密后与DB中的密码比对)
    • 如果用户存在且密码正确,则在服务端根据用户信息(如userid,失效时间等)计算出一串字符作为token
    • 服务端返回给客户端登陆成功信息及token(json形式)
    • 下次客户端访问服务端时,请求的header信息中会带上这个token
    • 服务端拿到token后校验token中的签名,验证token是由本服务器签发、未被窜改及在有效期内,则通过token中的用户信息读取用户其他信息
  • 相关阅读:
    offsetheight和clientheight和scrollheight的区别以及offsetwidth和clientwidth和scrollwidth的区别
    响应时间控制
    浏览器兼容
    生成随机数
    递归加载目录
    用委托定义的冒泡排序法
    ref 与out
    二维数组与交错数组的理解
    C#学习
    Jquery选择器
  • 原文地址:https://www.cnblogs.com/mercycnblog/p/9745130.html
Copyright © 2020-2023  润新知