首先,先说结论,安全程度基本上都是一样的,cookie或者token被劫持了一样能伪造请求,所以需要结合实际场景判断那种方式更优
其次,要看你使用场景,是外包项目的话怎么简单怎么来,如果是自己练习或者公司项目,则要做对自己有挑战的
,或者大家公认对公司项目高可用
,易扩展
的
最后,其实原理都差不多,都是要携带必要的信息作为权限认证
使用session相当于在浏览器中存了cookie,每次发请求的时候检查cookie就行,负载均衡上面在入口分发请求的设备上面做鉴权就可以了,如果单台服务器就更简单了
token更偏向于客户端的用法,不同的是需要你把token换成uid,而session则是大部分编程语言自己来处理的
最后说说我司的做法,我司APP使用的是token,因为APP是编译的生成,对token的加密方法保护得很好
如果是网页则是先登录授权服务器,换取一个token,然后再带着这个token登录各个不同的服务项目,由各个服务自己使用该token想授权服务器验证,如果通过验证,在给各个服务独有的session或者token
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…