当前位置: 首页 > news >正文

网站建设的部署研发项目备案在哪个网站做

网站建设的部署,研发项目备案在哪个网站做,淄博seo网站排名优化,国外 家具 网站模板应用场景#xff1a;访问某些页面#xff0c;需要用户进行登录#xff0c;那我们如何知道用户有没有登录呢#xff0c;这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下#xff0c;后端根据用户的唯一id生成一个独一无二的token#xff0c;并返回给前端访问某些页面需要用户进行登录那我们如何知道用户有没有登录呢这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下后端根据用户的唯一id生成一个独一无二的token并返回给前端前端把token保存起来每次发送请求请求头携带一个token以表示用户的身份。当然后端也要进行校验确保用户的token不是伪造和过期的。 下面举个例子使用node搭建服务器来详细说明 jwt 的具体用法。 1.用户通过提供身份信息如账号和密码进行身份验证 2.服务器验证用户提供的身份信息如果验证通过则并生成一个token并返回给客户端 if (req.query[username] req.query[password]) {const { password, username } req.query;// 1. 根据用户名查找用户const user await Admin.findOne({ username }).select(password);// 如果用户名没找到if (!user) return resp.send({ code: 422, message: 用户不存在 });// 2. 校验密码比较明文和密文的密码const isTrue require(bcryptjs).compareSync(password, user.password);// 如果密码错误则抛出错误状态码和错误信息if (!isTrue) return resp.send({ code: 422, message: 密码错误 });// 3. 返回token值利用公钥加密用户的唯一id得到token值并且设置了过期时间为2小时const token jwt.sign({ id: user._id }, app.SECRET, { expiresIn: 2h });// 查找用户信息const userInfo await Admin.find({ username: req.query.username }).sort({timeStamp: -1,});// 成功生成 JWT将 JWT 返回给客户端resp.setHeader(Access-Control-Allow-Origin, *);resp.setHeader(Access-Control-Expose-Headers, Authorization);resp.setHeader(Authorization, Bearer ${token});return resp.send({ token, code: 200, userInfo });}3.客户端将 token 保存到本地中 //设置响应拦截器instance.interceptors.response.use((res) {if (res.headers.authorization) { const token res.headers.authorization.split( )[1]console.log(token,token);localStorage.setItem(token,token)}// 拦截后需要将拦截下来处理成的结果返回return res.data;},(err) {console.log(err);});4.在后续请求中将 token 放在请求的头部以表示用户的身份 // 请求拦截器instance.interceptors.request.use((config) {// 将token拿出来拼接到请求头上const token localStorage.getItem(token);if (token) {config.headers.Authorization Bearer ${jwt};}//请求成功的函数return config;},(err) {return err;});5.服务器在接收到请求时验证 token 的有效性并根据其中的信息进行授权和验证。 // 判断用户token是否合法router.get(/verify, async (req, resp) {const { token } req.query;console.log(token);**// 如果token是伪造的则直接抛出异常try {const obj jwt.verify(token, app.SECRET);console.log(obj);// obj.exp 是过期的时间单位为sif (Date.now() obj.exp * 1000) {resp.send({ code: 401, message: 无效的JWT令牌 });} else { resp.send({ code: 200, message: success });}} catch (error) {resp.send({ code: 401, message: 无效的JWT令牌 });}});
http://www.w-s-a.com/news/249909/

相关文章:

  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜
  • 南宁建站免费模板简单的html网页设计
  • 吉林省建设 安全 网站沐风seo
  • 自己做捕鱼网站能不能挣钱软件开发公司需要什么硬件设备
  • 大连设计网站公司3小说网站开发
  • 建设环保网站查询系统网站建设168
  • 保险网站程序源码wordpress过滤敏感
  • 简述营销型网站推广的方法网站建设报价方案模板
  • 四川林峰脉建设工程有限公司网站为什么建设营销型网站
  • 网站模板搭建已经建网站做外贸
  • 网站建设选哪个wordpress实现微信登录界面
  • 网页设计网站哪个公司好学网站开发要多少钱
  • 商务网站建设ppt做视频分享网站
  • WordPress网站根目录有哪些wordpress用户等级
  • 私人装修接单网站重庆制作企业网站
  • 易企秀网站怎么做轮播图什么是网站版面布局
  • 网站开发先写什么后写什么做网站公司专业