当前位置: 首页 > news >正文

站长素材网app免费下载seo免费系统

站长素材网app免费下载,seo免费系统,免费自助建设网站,做网站一般用什么字体cookie和session结合使用 web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式: 1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保…

cookie和session结合使用

web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:

1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。
2、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。

JWT

JWT由三个部分组成

  1. Header:头部通常由两部分信息组成,token 的类型和使用的签名算法,通常是 {"alg":"HS256","typ":"JWT"}

  2. Payload:负载部分是 JWT 的主要信息存储部分,也是 JWT 的核心所在。它包含了一些声明(Claim),即对实体(通常指用户)及其它数据的描述,比如用户名、用户 ID、角色、过期时间等,由 JSON 对象来表示。

  3. Signature:签名部分,是整个 JWT 的防篡改保证。通常是将前两部分用 base64 编码后拼接起来,然后使用指定的算法(例如 HMAC、RSA)进行加密生成的。通过签名可以验证 JWT 是否被篡改过。

JWT的工作流程如下:

  1. 用户登录:用户在客户端(如浏览器)输入用户名和密码,发送到认证中心(授权服务器)进行验证。

  2. 认证中心验证:认证中心验证用户的用户名和密码是否正确,如果正确则生成一个JWT,并将其发送回客户端。

    /*生成JWT*/
    import io.jsonwebtoken.Jwts;
    import io.jsonwebtoken.SignatureAlgorithm;
    import java.util.Date;public class JwtUtil {private static final String SECRET_KEY = "yourSecretKey";public static String generateToken(String username, long expirationTimeMillis) {Date now = new Date();Date expirationTime = new Date(now.getTime() + expirationTimeMillis);return Jwts.builder().setSubject(username).setIssuedAt(now).setExpiration(expirationTime).signWith(SignatureAlgorithm.HS256, SECRET_KEY).compact();}
    }
    

  3. 客户端存储JWT:客户端(浏览器)收到JWT后,通常会将其存储在Cookie或LocalStorage中。

  4. 访问应用系统:当用户访问其他应用系统时,会将存储的JWT附加到HTTP请求的头部中。

token、session、cookie

Token和Session+Cookie都是实现用户认证和授权的方式,但它们在实现上有一些区别。

  1. Token是一种无状态的认证机制,它是基于加密的令牌,服务器不需要保存用户的登录状态。当用户登录成功后,服务器会生成一个Token,并返回给客户端。客户端之后的每次请求都需要携带这个Token,服务器通过解析Token来验证用户身份和权限。Token通常使用在前后端分离的架构中,适用于分布式应用和跨域请求。

  2. Session+Cookie是一种有状态的认证机制,它通过在客户端浏览器中保存一个Session ID,将用户的登录状态保存在服务器端的Session中。服务器在用户登录时会创建一个Session,并将Session ID通过Cookie发送给客户端,客户端在后续的请求中会自动携带该Cookie。服务器通过Session ID来查找对应的Session,从而识别用户和验证用户状态。Session+Cookie通常使用在传统的Web应用中,需要服务器端保存用户的登录状态。

总体来说,Token更加适用于无状态、分布式、跨域等场景,而Session+Cookie更加适用于有状态、传统Web应用等场景。选择哪种方式取决于你的应用需求和架构设计。在现代的Web开发中,由于前后端分离和分布式架构的普及,Token认证方式较为流行。但对于一些特定场景和遗留系统,Session+Cookie仍然有其应用价值。

http://www.khdw.cn/news/21631.html

相关文章:

  • 网站关键词方案网络品牌推广
  • google香港网站建设日本域名注册
  • 千图网在线编辑网站关键词怎么优化排名
  • 厦门做医院网站设计的公司株洲今日头条新闻
  • 一个网站的建设流程360推广联盟
  • wordpress 响应式图片百度seo最新算法
  • 连云港专业做网站广州最新疫情情况
  • 可以做同城活动的网站注册域名费用一般多少钱
  • 个体工商户经营范围网站开发windows优化大师是哪个公司的
  • 自建购物网站多少钱石家庄最新消息今天
  • b2b网站做推广有效果吗商业公司的域名
  • 网站的设计与制作阅读第2版安徽seo网络优化师
  • 淘宝内部卷怎么做网站百度页面推广
  • 一个简单的app多少钱优化方法
  • 响应式网站怎么样裤子seo关键词
  • 做web网站前端搜狗指数
  • 管理咨询的主体包括哪些如何优化关键词搜索排名
  • 手机网站制作哪家好杭州关键词自动排名
  • 伊犁北京网站建设广东省白云区
  • 做断桥铝门窗网站2022最新小学生新闻
  • 深圳专业商城网站制作公司济南网络营销外包
  • 黄山网站建设电话株洲发布最新通告
  • python做网站前端百度网站认证
  • 做网站建设哪家公司靠谱电商网站建设价格
  • ruby 做网站湖北网络推广公司
  • 新丝路网站建设有什么好用的搜索引擎
  • 030159网站建设与维护今晚日本比分预测
  • 个人做什么类型网站免费网页代码大全
  • 做代购网站的纳税怎么做网络营销
  • 网站 栏目做下拉列举五种网络营销模式