博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于jwt和角色的访问控制解决方案
阅读量:6902 次
发布时间:2019-06-27

本文共 724 字,大约阅读时间需要 2 分钟。

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,基于角色权限控制

 

转载于:https://www.cnblogs.com/vhyc/p/7953779.html

你可能感兴趣的文章
环路检测
查看>>
apache 开机自启动
查看>>
Redhat nis client两种接入方式
查看>>
java和scala中>>和>>>
查看>>
mysql+keepalived基于业务的高可用
查看>>
JAVA代码实现多级树结构封装对象
查看>>
CentOS5 安装vsFtpd软件及配置
查看>>
设计师应该关注的科技发展方向(二)
查看>>
一个用perl写的发邮件的脚本
查看>>
透视学现象如何产生?
查看>>
redis python监控
查看>>
php趣味 - php 奥运五环
查看>>
Ext4 Disk Layout-2
查看>>
原 2017/5 JavaScript基础6--- 对象
查看>>
Python 列表、元组、字典t的常用方法
查看>>
MYSQL groupby使用方法。
查看>>
如何将ppt转换成pdf
查看>>
PowerDesigner连接MySQL数据库
查看>>
文件格式转换控件LEADTOOLS ePrint Professional
查看>>
Nvidia 390.77 发布:修复错误并增强Linux内核兼容性
查看>>