登录鉴权

1、前端常见登录鉴权方法

  •  session-cookie
    • cookie
      • http是无状态协议,服务器需要一个标识来识别不同的浏览器,也就是cookie作用,用来做浏览器的识别
      • 浏览器在第一次向服务发送请求时,服务器会在response头部设置set-cookie,浏览器接收到这个cookie后会将它存在本地,在下一次请求该服务器时,request头部会自动带上cookie,以此识别不同的浏览器
      • 常见使用例子
        http.creatServer((req,res)=>{
                        res.setHeader("Set-Cookie", "*****")
                        res.end("***")
                    })
        View Code
    • session
      • 在浏览器第一次访问时,由服务器创建一次会话,会话中保存访问浏览器的信息,与cookie不同的是一个存在浏览器,一个存在服务器
  •  token令牌(JWT) 
    • 浏览器在第一次访问服务器时,服务器会生成一个令牌回传给浏览器,之后浏览器每次访问该服务器时会携带这个令牌,已验证信息是否有效或者是否过期
    • 令牌一般由用户信息、时间戳及其他被hash加密过的签名构成
    • 一般流程:
      • 浏览器携带用户名以及密码发出请求服务器验证用户名及密码
      • 服务器验证用户名及密码
      • 验证成功后,服务器生成token返回给浏览器
      • 浏览器将token令牌存储在本地,可以是cookie也可以存储在storage中
      • 在之后请求时携带token进行访问,服务器在接受后对token进行验证,包括正确性以及是否过期,一般是在Authorization中,如果验证失败返回401
  •  Oauth(第三方授权)
    • 第三方登录鉴权主要基于oauth2.0,不会使第三方触及到用户的账户信息,是一种第三方登录的授权机制
  •  token与session-cookie的区别
    • token更加安全,服务器不会保存
    • session-cookie在不是https的网站中易受到攻击
    • token是由服务端签发,session-cookie限制于浏览器,app无法使用

2、前端权限控制

  •  路由权限控制
  •  视图元素权限控制
  •  请求权限控制
posted @ 2022-04-27 16:45  清风环珮  阅读(365)  评论(0编辑  收藏  举报