使用session机制有助于防止越权操作的产生_用户访问鉴权机制总结

本文介绍了用户鉴权的三种主要机制:基于session的传统方式,基于token的鉴权,以及JWT(JSON Web Token)的使用。session在服务集群或跨域时存在挑战,而token和JWT则提供了更灵活的解决方案。JWT是一种开放标准,包含header、payload和signature,适用于授权和信息交换,但需注意其安全性。OAuth 2.0则是授权第三方应用访问用户信息的开放标准协议。
摘要由CSDN通过智能技术生成

1、基于 session 的鉴权机制

传统的访问鉴权机制,用户登录完成后,用户信息存放于服务端的 session 中,客户端 cookie 中存储 session id,每次请求会带上 cookie,从而服务端可以通过 session id 获取服务端 session 的用户信息,从而进行验证。

这个模式问题在于服务器是集群或者跨域的服务导向架构,就需要 session 数据共享,每台服务器都要能够读取 session。

解决方式有集中话管理 session 数据,如持久话 session 数据或者 redis 缓存 session 数据。各服务都从持久话服务或 redis 缓存中获取 session。

当然你也可以通过将 session 数据加密然后都存储在 cookie 中(客户端),每次请求过来时,解密这个请求带过来的 cookie 数据,获取到具体的 session 数据,这样可以解决服务集群 session 无法

共享的问题,但无法解决跨域的问题。flask session 默认就是采用这种方式,session 信息加密存储在客户端 cookie 中。

session 这种机制不完全适用于使用 api 调用的应用的 api 服务鉴权。

2、基于 token 的鉴权机制

token 机制,本质即是将原先 cookie 存放 session id,服务端根据每次请求获取的 cookie 中 session id,找到服务端中存储的对应 session 信息的方式,改为 http 请求需要手动传输 token (正确登录后给予的令牌),服务端根据 token 获取用户的信息,完成鉴权。

这种方式适用一切应用&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值