用户身份验证和后续请求授权 -- 草稿

在Web开发中,用户身份验证和后续请求授权是非常重要的安全概念。身份验证是确认用户的身份,而授权是确定用户是否有权限执行特定的操作或访问特定的资源。在前后端分离、单点登录等情景下,我们可以采用不同的方案来实现用户身份验证和后续请求授权。

传统架构 前后端分离
多点登录 Session 和 Cookie Token
单点登录 Session 和 Cookie + 认证中心 Token + 认证中心

多点登录

Session 和 Cookie 的方式

在传统Web开发中通常采用Session 和 Cookie 的方法,当用户首次进行登录验证成功后,服务器会创建一个会话,并分配一个唯一的会话标识符(Session ID),将该 Session ID 存储在客户端的 Cookie 中,同时在服务器端存储该会话与用户信息的映射关系。之后,用户的每次请求都会携带该 Session ID,服务器通过该 Session ID 查找对应的用户信息,从而验证用户身份。

下面是基于Session 和 Cookie的示例代码

  1. 前端登陆:用户通过浏览器,在前端页面,使用 fetch API 发起 POST 请求进行用户登录
function userLogin(username, password) {
   
  fetch('/login', {
   
    method: 'POST',
    headers: {
   
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
    username: username, password: password })
  })
  .then(response => {
   
    if (response.ok) {
   
      // 登录成功
      // 进行后续操作
    } else {
   
      // 登录失败
    }
  })
  .catch(error => {
   
    // 异常处理
  });
}
  1. 后端登陆:当用户提交用户名和密码后,后端会检查用户是否存在且密码正确,如果验证通过,在session中写入logged_in=True,并将session_id写入cooke,返回给前端
from flask import Flask, request, session, make_response

app = Flask(__name__)
app.secret_key = 'your_secret_key'

@app.route('/login', methods=['POST'])
def login():
    data = request.get_json()
    
  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值