图解Jwt和shiro认证方式的区别

JWT与Shiro结合使用:无状态认证与全面安全框架的融合
JWT提供无状态的认证方式,适合微服务和跨域场景,而Shiro则是一个全面的安全框架,包括会话管理、授权和加密等功能。两者结合使用,JWT用于认证,Shiro处理授权和会话管理,以实现更复杂的安全需求。在现代应用中,这种结合能提供强大且灵活的安全解决方案。

在这里插入图片描述

1、Jwt的认证方式

用户进行登录中,访问微服务中Controller层的登录方法,若认证通过,生成Token(包含用户数据和权限),返回token信息到前端浏览器,然后,前端那边的代码会记录token,使得再去访问微服务的方法时,请求头都会包含token,然后,后端会解析token,校验token和操作权限,值得注意的是整个过程都不记录用户的任何数据,是一个无状态的服务

2、shiro的认证方式

用户登录后,交给后端自定义的Realm域,进行用户名和密码的认证比较,认证通过会产生一个以SessionId为key的用户安全数据,然后交给shiro的会话管理,将SessionId存入Redis服务,并将SessionId返回到前端,如果再访问其他后端的控制层方法时,请求头就会包含sessionId,然后再交给后端自定义的Realm域获取安全信息,再交给会话管理将传递过来SessionId与redis服务进行比较,返回自己构造的安全数据(安全数据一定要包含权限信息),因为需要对用户权限进行验证,如果访问请求没有携带sessionId,那么会产生一个新的sessionId,但还需要用户登录,而且,是一个有状态的服务

建议:关于什么是无状态的服务和有状态的服务可以看看这篇文章

3、为什么用了jwt,还用shiro?或者说用了shiro,为什么还用jwt?

使用JWT和Shiro并不是互斥的选择,它们在权限管理和认证领域各

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值