Web博客项目及jwt的学习

这几天完善了发布博客,完成了收藏博客的功能

 

 

博客项目

一共有三种身份:

访客(未登录),用户,管理员。

其中管理员拥有的功能最多,其次是用户,然后是访客。

从功能上看:

访客

  • 可以分页查看所有的博客
  • 可以查看最多的标签分类和所有的标签
  • 可以根据时间查找博客列表
  • 可以用关键字全局搜索博客
  • 可以快速查看最新的推荐博客
  • 可以查看单个博客内容
  • 可以查看用户的基本信息(浏览量,博客数,粉丝数)

用户

  • 管理博客
    • 从注册登录页面进入首页
    • 可以编辑发布文章(设置标签,分类,是否原创)
    • 可以修改已发布博客
    • 可以删除博客
  • 博客分类和标签
    • 新增、修改分类/标签
    • 删除分类/标签(如果目录下对应文章只有一个分类,则移入默认分类)
    • 根据名称查询分类/标签
  • 个人信息方面
    • 可以修改自己的个人信息

管理员

  • 查看发布未审核的文章
  • 可以通过未审核的文章

JWT

令牌组成

  • 标头(Header)
  • 有效载荷(Payload)
  • 签名(Signature)

格式通常是:Header.Payload.Signature

Header

标头通常由两部分组成:令牌的类型(即JWT)和所使用的签名算法,例如HMSC SHA256或RSA。它会使用Base64编码组成JWT结构的第一部分

注意:Base64也是一种编码,它可以被翻译回原来的样子,不是一种加密过程

{

        "alg":"HS256",

        "typ":"JWT"

}

Payload

令牌的第二部分是有效负载,其中包含声明,声明是有关实体(通常是用户)和其他数据的声明,同样也会使用Base64编码,是JWT的第二部分

{

        "sub":"1234560",

        "name":"John Doe",

        "admin":true

}

Signature

Signature需要使用编码后的Header和Payload以及我们提供的一个密钥,然后使用header中指定的签名算法(HS256)进行签名。签名的作用是保证JWT没有被篡改过

签名的目的:实际上是对头部以及负载内容进行签名,防止内容被篡改,如果有人对头部以及负载的内容解码之后进行篡改,再进行编码,最后加上签名组合形成新的JWT的话,那么服务器回判断出新的头部和负载形成的签名和JWT附带上的签名是不一样的

HMACSHA256(

        base64enc(header)+'.'+,

        base64enc(payload)

        ,secretKey

)

放在一起之后,是由三个点分隔的Base64-URL字符串,可以在HTML环境中传递这些字符串,与基于XML的标准相比,它更紧凑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明里灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值