1.前言
- 权限管理分为登录校验,模块权限分配等
- 登录校验一般使用token进行校验
- 权限分配一般使用角色组进行管理,按角色组设定权限,再与人员进行绑定
2.人员管理
- 数据库新增一张表,包含id,username,nickname,phone, password等
- 设置和校验密码时,前端先对其进行加密,后端存储和验证都
- 用户登录时,使用mod5进行加密
3.token管理
- 基本流程:登录成功后,根据用户id和过期信息来生成token,返回给前端。后面前端请求接口,则带上这个token,后端对token进行解析,拿到用户id和过期信息,过期和token无效都验证失败
- 安装第三方库,jsonwebtoken
npm install jsonwebtoken
- 校验流程和代码
//token管理工具
var jwt = require('jsonwebtoken')
//密钥
var privateKey = "xxx"
//模拟登录信息
var loginData = {
id: 1,
password: "123456"
}
//模拟登录成功(校验密码环节省略)
//生成token返回(包含人员信息和过期信息)
var token = jwt.sign({
userId: loginData.id,//人员id
expires: 1737092833417,//过期时间,这里应该动态生成
}, privateKey)
//eyJhbGciOiJIUzI1NiJ9.MTIzNDU2.6j-7-PqBNNVHeOYuI5L4lmSX7rDudiuH-ejSWriUb1g
console.log(token)
try {
//后期请求接口,解析token
var decoded = jwt.verify(token, privateKey)
// 拿到用户信息和过期时间 { userId: 1, expires: 1737092833417, iat: 1737092957 }
console.log(decoded)
} catch (error) {
//无效的token进入这里
console.log('token校验失败')
}
标签:管理,过期,校验,token,var,权限,id
From: https://www.cnblogs.com/OrochiZ-/p/18676873