1.用户登录
1.1 登录功能
根据用户名和密码查询员工,查到了则说明有这个员工
有返回值,返回对象是一个员工对象(若查到的话),
sql语句依然用select,查到了就是对象,查不到就是null
1.2 登录校验
服务器端接受数据时进行登录校验
1.2.1 会话技术比较
输入域名————建立会话
同一浏览器 同个会话
1.2.2 JWT令牌(登陆时使用)
基于json的JWT令牌
生成时:登陆成功由后端生成jwt令牌下发给前端
验证时:前端每一次发送请求时都会携带jwt令牌给后端 验证
流程: 查询是否含有该用户,若返回值是个用户,则生成jwt令牌并 return Result.success(jwt);
引入依赖——>生成JWT
@Test 后面会用工具类操作
public static void genJwt() {
//自定义信息
Map<String, Object> claim = new HashMap<>(); //键值对
claim.put("id",1);
claim.put("username","zhangsan");
String jwt = Jwts.builder()
.setClaims(claim) //自定义内容(负载)
.setIssuedAt(new Date()) //设置签证时间
.setExpiration(new Date(System.currentTimeMillis() + expiration)) //设置过期时间
.signWith(KEY) //签名算法
.compact(); //使用该方法可以获得返回值
System.out.println(jwt);
}
1.3 过滤器Filter
放行:doFilter(servletRequest,servletResponse);
拦截路径: “/*” ,代表所有
过滤器链:
1.3.1 过滤器Filter流程
设置一个登录检查Filter:遇到登录请求直接放行,遇到其他请求就需要校验
1.4 拦截器Interceptor
return true :放行
return false :拦截
配置器:1:注册拦截器 2:路径
1.5 异常处理