后端为Jfinal的vue2 app项目实现token身份认证-我的野蛮室友漫画

公司开发的内部使用app, 需要对登录、数据交互请求进行token身份认证。项目后端采用jfinal 4.9 项目发布json Restful数据接口服务, 前端采用vue2架构利用vux、axios、tinymce 等组件.

项目利用token做身份验证的基本思路:

1、在第一次登录的时候前端调用后端的接口checkuser,把用户名和密码传给后端;

2、后端收到请求,验证用户名和密码,验证成功后,返回给前端token值, token有效时间设定了15分钟;

3、token信息本地存储统一管理文件为store.js, 前端接收到后端传递过来token值,登录成功将token存储在本地 loaclStorage中, 退出登录则删除存储的token;

4、在全局请求管理文件request.js中封装公用的请求接口方法, 每次请求调用后端接口,都自动在请求header中带上token, 前端接收到的token为空, 用户重新登录,如果前端拿到后台返回自定义状态码是401,就清除token并跳转登录页面;

5、后端拦截器中判断请求header中是否有token,拿到token并且验证token, 验证成功返回数据,验证失败(例如无token信息或者token过期),返回自定义代码401。

pom.xml中加入依赖

工具类JwtUtil.java

全局拦截器

JwtInterceptor.java

用到的json结果封装类 jsonResult.java

用户身份认证函数

在项目全局配置文件中加入拦截器

前端代码

request.js, 全局的请求统一管理文件, 这里是最关键的一步,  把获取到的token值复制到请求头中

Chrome浏览器F12调试工具查看请求token信息

store.js

登录login页面用户身份认证调用函数:

在vue项目main.js文件中加入全局路由拦截函数,判断是否有空token

【Yuzu Pyon】 2B [29P 46MB]
2023-05-17
十一岁萌萝莉。拒绝上学、没有朋友、沟通障碍、游戏废人、讨厌阳光。空的妹妹,特征是雪白的头发和红色的眼睛。有兄控倾向。具有超乎常人的语言及数理能力,是与众不同的天才
2023-05-19
“诸君,成败在此一举向月球进军!”狂热的军团欢呼着纷纷迈入湖水,没人听见少女的喃喃自语。
2022-10-28
No.5255 Hebe韩心雨[56P/548M]
2022-10-31
[Lilynah] LW062 Shaany (샤니) Vol.16[44P/61M]
2023-05-27
【Serinide】 Rem [18P 35MB]
2023-06-09
【Vinnegal】 Fubuki [21P 39MB]
2023-05-26
海的味道我知道(?
2023-05-23
现代人真会享受,最近和一个同事聊天发现她们太会生活了,吃完饭有洗碗机收拾,家里的卫生有扫地机打扫,生活非常精致。在她的安利下,我也决定奢侈一把,于是入手了一款刚上市的扫地机——云鲸J3小鲸灵扫拖机器人,下面我就和大家分享一下这款产品的使用感受。云鲸J3小鲸灵有两个包装盒,大的为扫地机及其基站,小的为自动上下水模块。因为多了自动上下水模块,所以厂家提供了免费的安装服务,可能这是唯一一家提供安装的扫地机厂商。当然,如果条件不允许我们也可以不安装自动上下水模块,只是需要自己加装清水、倾倒废水。自动上下
2022-09-29
TV动画《间谍过家家》第2弹PV预告公开,动画为半年番分割2季度播出,分别于2022年4月和2022年10月播出。
2022-10-28