Spring shrio使用中,涵盖了token的使用,token可以存在redis中,使得服务端有状态,token可以对应用户信息,客户端每次请求的过程中都携带token,我们可以根据token获取到用户信息,这个用户信息也可以携带用户的角色,这样就不用每次都去查数据库的角色信息。
针对JWT的使用
jwt是json web token的缩写。jwt使得服务器木有状态值,这样就能满足分布式的会话存储。例如单点登入,以前单点登入,一种解决方案是持久化session数据,写入数据库或文件持久层等。收到请求后,验证服务从持久层请求数据。该解决方案的优点在于架构清晰,而缺点是架构修改比较费劲,整个服务的验证逻辑层都需要重写,工作量相对较大。而且由于依赖于持久层的数据库或者问题系统,会有单点风险,如果持久层失败,整个认证体系都会挂掉。