0,主要解决两个问题:1身份验证(防止httpclient拼接请求),2权限控制

1,身份验证使用jwt,在java就是jjwt

  jwt可以比较好的整合restful,对无状态客户端比较友好,(用session和cookie是有状态的,session由服务器维护,如果项目大了使用了分布式,

  就一个session绑在一台特定的服务器上,不能很好的均衡负载

流程图:

jwt  quick start

Key key = MacProvider.generateKey();

String compactJws = Jwts.builder()
.setSubject("Joe")
.signWith(SignatureAlgorithm.HS512, key)
.compact();

上面的compactJws就会产生下面的token

eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJKb2UifQ.yiV1GWDrQyCeoOswYTf_xvlgsnaVVYJM0mU6rkmRBf2T1MBl3Xh2kZii0Q9BdX5-G0j25Qv2WF4lA6jPl5GKuA

验证:

try {

    Jwts.parser().setSigningKey(key).parseClaimsJws(compactJws);

    //OK, we can trust this JWT

} catch (SignatureException e) {

    //don't trust the JWT!
}

2,基于角色权限控制

最新文章

  1. Java的多态
  2. logstash 添加nginx日志
  3. Windows 自动关机/定时关机 命令 shuntdown
  4. [Java Basics] multi-threading
  5. 提示Can't load package:dclite70.bpl解决方法
  6. js中window的属性
  7. JQ中$(document.ready())
  8. IE6存在的一些兼容
  9. (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
  10. 【源码】canal和otter的高可靠性分析
  11. Deepin linux Compass.app安装
  12. Linux2:Linux目录结构
  13. Python3系列__01Python安装
  14. HybridStart发布v1.0测试版
  15. python异常处理与断言以及日志模块
  16. js验证身份证号,超准确
  17. java常见数据结构整理
  18. Mac显示同一程序的所有窗口
  19. Loadrunner 11 遇到的问题
  20. ss 命令学习

热门文章

  1. Unable to handle kernel NULL pointer dereference at virtual address 00000000【转】
  2. ES6 实现阶乘
  3. quartz(7)-源码分析
  4. 转: 在hibernate中查询使用list,map定制返回类型
  5. eclipse中的错误解决——The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  6. iSCSI 在Linux下的模拟实验
  7. BZOJ 3329 Xorequ:数位dp + 矩阵快速幂
  8. sql内连接外连接自然连接
  9. Prism技术开发文档(五星级)
  10. 六 web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求