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

一步一步网站建设教程/西安自动seo

一步一步网站建设教程,西安自动seo,个人做淘宝客网站有哪些,焦作做网站公司一、流程图 二、Token 1、token是一种客户端认证机制,是一个经过加密的字符串,安全性强,支持跨域 2、用户第一次登录,服务器通过数据库校验其UserId和Password合法,则再根据随机数字userid当前时间戳再经过DES加密生成…

一、流程图

二、Token

1、token是一种客户端认证机制,是一个经过加密的字符串,安全性强,支持跨域

2、用户第一次登录,服务器通过数据库校验其UserId和Password合法,则再根据随机数字+userid+当前时间戳再经过DES加密生成一个token串
    ⑴当然具体生成token的方式是开发自己定义的
    
3、token的生成一般是采用uuid保证唯一性,当用户登录时为其生成唯一的token,存储一般保存在数据库中
    ⑴token过期时间采用把token二次保存在cookie或session里面,根据cookie和session的过期时间去维护token的过期时间

4、Token是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回Token给前端。前端可以在每次请求的时候带上Token证明自己的合法地位

5、Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来
 

三、分析

建立一个token令牌,在用户登录时候给用户一个独特得令牌值,登录时候嘚赋值这个令牌

在SpringBoot项目中建立一个Util文件夹

文件夹下建立TokenUtil.java文件

public class TokenUtil {private static Map<String, User> tokenMap = new HashMap<>();public static String generateToken(User user){//生成唯一不重复的字符串String token = UUID.randomUUID().toString();tokenMap.put(token,user);return token;}/*** 验证token是否合法* @param token* @return*/public static  boolean verify(String token){return tokenMap.containsKey(token);}public static User gentUser(String token){return tokenMap.get(token);}public static void main(String[] args) {for (int i = 0; i < 20; i++){System.out.println(UUID.randomUUID().toString());}}}

用户登录得UserController.java

@Api( tags = {"用户模块接口"})
@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate HttpSession session;@ApiOperation("登录接口")@RequestMapping(value = "login",method ={RequestMethod.POST,RequestMethod.GET})public Map<String,Object> login(User user){Map<String,Object> map = new HashMap<>();map.put("code",0);if(StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword()) ){map.put("msg","用户或者密码为空!");return map;}QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("username",user.getUsername()).eq("password",user.getPassword());User userDb = userService.getOne(queryWrapper);if(userDb != null){String token= TokenUtil.generateToken(userDb);map.put("code",1);map.put("data",userDb);map.put("token",token);session.setAttribute("username",userDb.getUsername());}else{map.put("msg","用户名或密码错误!");}return map;}@ApiImplicitParams({@ApiImplicitParam(name = "id",value = "用户id", required = true,dataType = "Long"),@ApiImplicitParam(name = "name",value = "测试名字",dataType = "string")})@ApiOperation("根据id查询用户信息")@RequestMapping(value="getById",method ={RequestMethod.POST,RequestMethod.GET})public  User getById(Long id ,String name){System.out.println(name);return userService.getById(id);}}

在拦截器上操作 interceptor下面LoginInterceptor.java

public class LoginInterceptor implements HandlerInterceptor {@Autowiredprivate HttpSession httpSession;//Controller逻辑执行之前@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle....");String uri = request.getRequestURI();System.out.println("当前路径:"+uri);/*** HandlerMethod=>Controller中标注@RequestMapping的方法*  需要配置静态资源不拦截时,添加这块逻辑  => 前后端分离项目**/// 是我们的conrtoller中的方法if (!(handler instanceof HandlerMethod)) {return true;}String token = request.getHeader("qcby-token");if (!TokenUtil.verify(token)) {// 未登录跳转到登录界面throw  new RuntimeException("no login!");} else {return true;}}//Controller逻辑执行完毕但是视图解析器还未进行解析之前@Overridepublic void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {System.out.println("postHandle....");}//Controller逻辑和视图解析器执行完毕@Overridepublic void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {System.out.println("afterCompletion....");}
}

四、运行结果

http://localhost:8080/

 http://localhost:8080/user/login?username=admin&password=123456

 记住这个令牌     60227b0e-bdbb-47d9-9df4-f56163cb529d

在postman中

写入令牌,输出成功

 

http://www.lbrq.cn/news/764929.html

相关文章:

  • 做系统网站建设/2000元代理微信朋友圈广告
  • 烟台建网站公司/seo网站推广什么意思
  • 如何做公司网站/深圳专业建站公司
  • 标书制作教程全过程/系统优化的意义
  • ps做图 游戏下载网站有哪些/栾城seo整站排名
  • 网站开发 技术优势/360推广和百度推广哪个好
  • 合肥做网站cnfg/电商培训机构排名前十
  • 有那些专门做外贸的网站呀/优化网站内容的方法
  • 国外网站设计大全/推荐几个靠谱的网站
  • 网站维护是不是很难做/aso关键词排名优化是什么
  • 电商网站设计文档/优化网站关键词
  • 怎么帮公司做网站建设/营销软文小短文
  • 没有网站怎么做外贸/百度网址输入
  • 校园网站制度建设/临沂百度公司地址
  • 营销导向的网站建设的主要流程/天津seo推广优化
  • 上海装修网站大全/做销售最挣钱的10个行业
  • 广州南沙区建设局网站/广告点击一次多少钱
  • 偷dede网站模板/网络营销策略研究论文
  • 中铁建设中南公司官方网站/做seo网页价格
  • aspcms中引文 网站修改配置/网络培训心得体会
  • wordpress 发布软件/seo多久可以学会
  • 贵阳专业网站建设公司哪家好/石家庄市人民政府官网
  • 淄博市住房和城乡建设厅网站/平台关键词排名优化
  • 东莞网站建设上科/商丘seo博客
  • 做期货看那个网站比较专业/赣州seo排名
  • app设计理念怎么写/网站建设网络推广seo
  • 建设网站的技术手段/免费推广平台有哪些
  • 建设银行信用卡网站查询/网络优化公司排名
  • 文章网站后台/西安企业做网站
  • html5开发wap网站/百度网盘客服人工电话
  • Docker部署美化SunPanel导航页
  • Spring Boot + Redis + 布隆过滤器防止缓存穿透
  • 开源WAF新标杆:雷池SafeLine用语义分析重构网站安全边界
  • 【科研绘图系列】R语言绘制特定区域颜色标记散点图
  • 3 Abp 核心框架(Core Framework)
  • Spark on K8s 在vivo大数据平台的混部实战