shiro 有状态登陆,存在服务器端。
JWT无状态登陆,存在客户端,JWT生成的token默认有效期是三十分钟,并且,JWT无法使已经生成的token失效。
有状态就是说把信息存储在session中,因为session是存在服务端的,也就是有状态的,
无状态就是把信息存在cookie中,cookie是存在客户端的,也就是无状态。
无状态的好处很明显,不存在服务端,可以减少服务端的压力。
JWT是一个轻量级的鉴权框架,可以实现无状态登陆,一般结合RSA使用,RSA是一种非对称加密技术,分为公钥和私钥,公钥和私钥可以互相解密对方加密的东西,公钥可以发出去很多,但是私钥只能有一份,此处也不过多讲解RSA,之后会单独对RSA进行说明。
拿用户登录模块来说,用户登陆时,服务端首先要去数据库来判断这个用户是否正确,如果正确,那就用RSA生成的私钥进行加密,生成一个token,将token返回给用户,用户下次访问服务的时候,带着这个token,如果服务端用公钥能够解析成功,那就说明当前申请是OK的,没啥问题,解析不了,说明不是这个公钥对应的私钥加密形成的token,那就不让它登陆。
token分为三部分:头,载荷,签名。
标签:公钥,私钥,JWT,RSA,token,shiro,服务端 From: https://www.cnblogs.com/tenghao/p/16881131.html