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

网页制作工具的是seo测试工具

网页制作工具的是,seo测试工具,网站可以做10000件事情吗,运行一个网站要多少钱目录 1 前言 2 实现步骤 2.1 软件环境准备 2.1.1 Redis的安装 2.1.2 在pom.xml中添加依赖 2.1.3 在application.yml中进行相关配置 2.2 StringRedisTemplate的常用方法 2.2.1 获取operations 2.2.2 主要方法 2.3 令牌主动失效机制 2.3.1 登录时将令牌存入Redis 2.…

目录

1 前言

2 实现步骤

2.1 软件环境准备

2.1.1 Redis的安装

2.1.2 在pom.xml中添加依赖

2.1.3 在application.yml中进行相关配置

2.2 StringRedisTemplate的常用方法

2.2.1 获取operations

2.2.2 主要方法 

2.3 令牌主动失效机制

2.3.1 登录时将令牌存入Redis

2.3.2 修改密码时删除旧的令牌

2.3.3 拦截器中进行检验


1 前言

在我们使用JWT令牌进行登录验证的时候,不可避免的也会出现一些问题。比如:当用户修改密码后,旧的令牌仍然生效。因此,我们可以采用Redis进行登录的优化。

2 实现步骤

2.1 软件环境准备

2.1.1 Redis的安装

百度网盘的链接如下,解压即可使用

链接:https://pan.baidu.com/s/1nAXT6alX-pMxxSfAe6-tsw?pwd=0529 

提取码:0529

2.1.2 在pom.xml中添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

在添加依赖后,会自动向IOC容器中注入StringRedisTemplate对象,通过它我们可以对Redis数据库进行相关操作。

2.1.3 在application.yml中进行相关配置

#redis初始状态没密码,所以暂时不需要配置
spring:data:redis:port: 6379 #端口号host: localhost #本地database: 0 #redis有16个小库,默认0

2.2 StringRedisTemplate的常用方法

2.2.1 获取operations

@Autowired
private StringRedisTemplate stringRedisTemplate;
//其它
ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();

2.2.2 主要方法 

相关方法作用参数
operations.set("xx", "xx", 1, TimeUnit.HOURS);//过期时间为1小时向Redis中插入键值均为xx的数据

1.键(String)

2.值(String)

3.过期时间数(long)

4.时间数单位(TimeUnit.xx)

注:3和4可以不要

operations.get("xx");从Redis中获取键为xx的值键(String)
operations.getOperations().delete("xx");删除Rdis键为xx的键值对键(String)

2.3 令牌主动失效机制

2.3.1 登录时将令牌存入Redis

public class UserController {@PostMapping("/login")public Result<String> login(//其它) {//其它代码//获得JWT令牌String token = JwtUtil.genToken(claims);//将JWT令牌存入RedisValueOperations<String, String> operations = stringRedisTemplate.opsForValue();//过期时间要和JWT令牌保持一致operations.set(token, token, 1, TimeUnit.HOURS);}//其它代码
}

2.3.2 修改密码时删除旧的令牌

public class UserController {//其它代码@PatchMapping("/updatePwd")//@RequestHeader(name = "Authorization") String token从请求头中获取JWT令牌public Result updatePwd(@RequestBody Map<String, String> params, @RequestHeader(name = "Authorization") String token) {//其它代码//删除Redis中旧的JWT令牌ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();operations.getOperations().delete(token);}
}

2.3.3 拦截器中进行检验

public class LoginInterceptor implements HandlerInterceptor {//其它@Overridepublic boolean preHandle(//其它) {try {//其它代码//没获取到值则不放行ValueOperations<String, String> operations = stringRedisTemplate.opsForValue();if (operations.get(token) == null) {throw new RuntimeException();}//放行return true;} catch (Exception e) {//不放行return false;}}
}

http://www.hkea.cn/news/415719/

相关文章:

  • 郑州新闻头条seo基础教程
  • 做网站比较大的公司朔州seo
  • 如何制作私人网站福州专业的seo软件
  • 做网站主流技术南宁在哪里推广网站
  • 老板让我做网站负责人微博营销软件
  • 教我做网站百度打开
  • 网站开发时如何兼容电商运营是做什么的
  • 河北建设银行石家庄分行招聘网站怎么申请自己的网络平台
  • vs2008 做网站搜索引擎的工作原理是什么
  • 东莞常平做网站公司app营销策划方案
  • 爱用建站 小程序重庆网站制作公司
  • 网站建设小企业案例漯河网络推广哪家好
  • wordpress 清空回收站合肥网站优化软件
  • 电站建设招聘网站智推教育seo课程
  • 做静态网站选用什么服务器站长素材网站
  • 网站建设先做前台还是后台百度认证是什么
  • 广州专业做crm系统的供应商seo网站培训班
  • 景安建网站企业网站seo方案案例
  • 山东滕州疫情最新消息今天i长沙官网seo
  • 公司做网站买域名之后做什么百度一下你就知道手机版
  • 北京婚恋网站哪家最好企业推广宣传方式
  • 国发网站建设西安做网站公司
  • 网站推广服务合同简述网络营销的主要方法
  • 信息门户网站是什么成人计算机培训机构哪个最好
  • 网站建设公司 中企动力公司东莞商城网站建设
  • b2c的电子商务网站自己想做个网站怎么做
  • 京东pc网站用什么做的如何注册网站怎么注册
  • 长沙商城网站制作seo线下培训课程
  • web网站开发公司网站制作优化排名
  • 这么做3d网站企业邮箱网页版