拥有 token 标签的文章 共 1 条数据

用户认证:基于jwt和session的区别和优缺点
技术杂谈

用户认证:基于jwt和session的区别和优缺点

3777次浏览 0条评论

背景知识:Authentication和Authorization的区别:Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。Authorization:授权,指的是确认你的身份之后提供给你权限,例如用户小A可以修改数据,而用户小B只能阅读数据。由于http协议是无状态的,每一次请求都无状态。当一个用户通过用户名和密码登录了之后,他的下一个请求不会携带任何状态,应用程序无法知道他的身份,那就必须重新认证。因此我们希望用户登录成功之后的每一次http请求,都能够保存他的登录状态。目前主流的用户认证方法有基于token和基于session两种方式。基于session的用户认证基于session的认证流程如下:1. 用户输入其登录信息2. 服务器验证信息是否正确,并创建一个session,然后将其存储在数据库中3. 服务器为用户生成一个sessionId,将具有sesssionId的Cookie将放置在用户浏览器中4. 在后续请求中,会根据数据库验证sessionID,如果有效,则接受请求5. 一旦用户注