关于用户权限判断的实现

本人最近用gulp+ nodejs+mongodb写了一个小项目。关于权限验证这个问题,查了很多资料,也思考了很久。下面写出了几个自己实验过的方法,基本还是安全可靠的。

(1)种cookie的方法。
简单的说就是第一次判断登录成功返回登录结果时就为responce添加Set-Cookie参数,然后下次访问的时候http协议会自动携带上该cookie,可以通过cookie是否存在来判断用户是否有权限。该方法的优点是前端较为方便,什么都不用做,http协议会自动携带cookie。缺点是安全性相对较低。
Nodejs代码:

    res.cookie('username', username) 

(2)设置token,该方法较为复杂一点,但是安全性更好。

Token是后端设置的一个经过加密之后的数据(关于加密,可以自行去查阅一下资料,这里就不多说了) 往headers 注入一个自定义的字段,将token传给前端 。
Nodejs代码:

res.header('X-Access-Token', token)    
res.cookie('username', username) 

由前端token写在localStroage里,然后每次发协议请求数据的时候,都在header里加上该字段,后端则判断时候携带了token以及token的值是否正确来判断用户权限。该方 法的优点是安全性更高,缺点就是没那么便利了。

(3)种token,算是以上两种办法优点的综合。由后端生成token后,添加Set-Cookie参数然后交由http协议每次发出请求时自动携带上该token,交由后端判断。
Nodejs代码:

res.cookie('token', token)     
res.cookie('username', username) 
以上只是个人的总结,以及个人的理解。如有不正确的地方还请指出,本人及时改正。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值