token和RBAC的区别
就像上图所描述的一样,当前用户拿到授权码才可以有使用平台的权限,而我们之前使用的RBAC控制,是用户授权之后才发挥作用的。
Token在接口上的应用
我先说一下,什么是三端分离?
从上面的图我们可以看到,什么是三段分离,也就是说我们把客户端、服务器、数据端完全分开,他们三者各自部署在不同的服务器上。这样做的好处是:对于类似功能模块,服务端可以使用一套代码为所有客户端进行数据传递。
我们传统的做法是,将模板信息和服务端混在一起,这样做现在看来不是一个好的办法。使用三端分离,他们之间是互相不影响的,如果有联系,也是通过数据接口进行传递,这样做更灵活,更方便;
这个时候token验证当前客户端有没有权限访问接口就顺其自然,token只是授权。
服务端实现一个token的验证
第一步服务端要生成Token值
自己编写的生成随机字符串
第二步我们将生成的token作为Redis缓存的键来存储
我们可以在Redis缓存里面设置token过期的时间。
第三步也是我们经常要做的,对token进行验证,判断当前token是否有效
给出Redis缓存代码