前端用户权限认证

前两天一个前辈的项目告急,临交付前一天才找我说救命,然后给了我20多个接口(妈呀)。。。终于搞定了,阿弥陀佛。他们的接口用的是jwt,之前好像没写过这部分,现在觉得是该记录一下了。

在mvvm火热的今天,许多公司都做SPA产品,其中用户权限是个老生常谈的问题,除了传统的session-cookie,在SPA用的比较多的是json web token(jwt)。

在网络上,我们经常听到token(中文里有叫令牌),通常是我们向服务器提交账户密码之后,服务器伴随用户信息返回的一个加密字段,这个token是身份的凭证,有了这个token,你就拥有权限去使用某些服务或访问某些资源。比如某个企业内部系统,普通员工登陆后,对某个页面只有查看的权限,而管理员除了查看还有修改信息的权限。

权限的设计和管理当然是在后台,但我们这里先不讨论。我们先回想一下,由于http本身是无状态的协议,对于某些需要权限的访问,某次用户访问提供账户密码后,下一次再访问,服务器是不知道他的身份的,这时候又要他提供账号密码了。所以出现了session-cookie的方案:用户登录后服务器生成一个对应session保存用户状态,将之保存在内存(或数据库),返回一个sessionId给客户端。浏览器在响应头提取将相关数据保存在cookie中,下次访问就将cookie放到请求头提交给服务器。通过这种方式,服务器就能识别用户的身份,从而判定用户是否有权限执行某些访问。

    但是session机制有一些局限,一个是用户量多的话,对内存开销会很大,相应的的对session计算的开销也变大,而且如果保存在内存,是不利于分布式扩展。另一方面

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值