注册登录流程图(一文搞懂注册登录流程图?)-mile米乐体育

前言

结合网关相关知识食用更佳

业务图解

流程解读

  • 客户端-登录界面(通常手机验证码登录) 1.填写手机号 2.发送验证码 3.填写验证码 4.勾选新用户自动注册
  • 服务端-用户验证 1.验证账号验证码是否正确 2.验证用户是否存在(不存在出初始化用户信息) 3.完成验证生成token 4.将token返回给客户端

用户信息设计

字段 描述 类型 是否唯一
telephone 手机号 varchar
nickname 昵称 varchar 根据业务决定是否可重复
account 账号 varchar
password 密码 varchar
create_time 创建时间 datetime
modify_time 修改时间 datetime
…省略小程序授权码等等、根据自身业务进行增加

验证流程图解

关于token过期时间

关于业务请求token验证

关于登出操作

关于匿名请求(免登录)

方案1:授权token,限制单位时间请求次数

技术实现

  • 1.提供一个授权token管理页面,主要管理token使用者,token的值,单位时间访问次数(如每分钟60次)
  • 2.增删改查,将授权token存放到缓存中,使用map进行存储,key为token,值为每分钟访问次数
  • 3.单位时间计数缓存,过期时间为1分钟

请求次数检查代码实现

import org.springframework.beans.factory.annotation.autowired; import org.springframework.data.redis.core.redistemplate; import org.springframework.stereotype.component; import java.util.concurrent.timeunit; /** * 授权token请求限制缓存 * * @author 热黄油啤酒 * @since 2021-11-01 */ @component public class authtokenrequestlimitcache { @autowired private redistemplate redistemplate; private static final string auth_token_limit_key_prefix = "auth_token_limit"; /** * 请求次数 1并检查是否超限 * * @param token * @return 是否放行 */ public boolean incrementwithcheck(string token) { // 1.获取token请求次数限制,获取为null代表授权配置已被修改,此token已经不具备权限 integer limit = getlimit(token); if (limit == null) { return false; } // 2.组装缓存key,读取缓存 string key = string.join(":", auth_token_limit_key_prefix, token); integer count = redistemplate.opsforvalue().get(key); // 3.没有值代表一分钟内没有请求产生了 if (count == null) { // 初始化值 redistemplate.opsforvalue().increment(key); // 设置过期时间 redistemplate.expire(key, 1l, timeunit.minutes); return true; } // 自增并获取当前值 大于限制的话 返回false 网关过滤器返回提示信息(如请求过于频繁) long inc = redistemplate.opsforvalue().increment(key); return inc <= limit; } /** * 获取限值 * * @param token * @return */ public integer getlimit(string token) { object limit = redistemplate.opsforhash().get("auth_token_limit", token); return limit == null ? null : (integer) limit; } } 复制代码

方案2:请求路径正则校验

关于黑名单

  • 1.用户管理页面提供一个拉黑的按钮,拉黑后,这些用户的id会存储到一个set集合中去
  • 2.登录时候检查用户是否在黑名单中,是则拒绝登录并提示
  • 3.如果用户已经登录后进行拉黑操作,网关会在鉴权通过后检查用户是否在黑名单中,是则删除token对应缓存,返回401,401就会跳到登录页,步骤2就会进行拦截。

总结

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家网络推广引流创业感兴趣,可以添加 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战干货的推广引流技术课程免费分享!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图