加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何用jwt保护express中的静态文件夹

发布时间:2020-12-17 16:56:21 所属栏目:安全 来源:网络整理
导读:我有应用程序,它建立在nodejs和 angularjs上,我使用基于jwt令牌的身份验证进行身份验证,并且api调用正常工作 即使用户现在没有登录,应用程序也会为所有静态资源提供服务,如果用户没有登录并将用户重定向到登录页面,如何避免加载应用程序 最后我能够在app.js
我有应用程序,它建立在nodejs和 angularjs上,我使用基于jwt令牌的身份验证进行身份验证,并且api调用正常工作

即使用户现在没有登录,应用程序也会为所有静态资源提供服务,如果用户没有登录并将用户重定向到登录页面,如何避免加载应用程序

最后我能够在app.js floder中找到它,添加代码sinpet
?????app.use(‘/ app / view / *’,function(req,res,next){

if (!req.headers['authorization'] ) {
      res.sendfile('app/views/Error.html');

    } else {
      next();
    }
  });

对于来自/ app / view / check的请求,这意味着请求的标头是否包含使用jwt生成的令牌

解决方法

如果您的JWT存储在cookie中,您可以使用这样的道路:

router.all('/*',next){
  if (!req.cookies.session) {
    return res.json("ERROR");
  }
  else {
    ValidateCookieFunction(req.cookies.session,function(auth_state) {
      if (!auth_state)
          return res.json("ERROR");
      else
          next();
    });
  }
});

否则你可以在HTTP-Header中提供你的JWT

router.all('/*',next){
  if (!req.headers['x-access-token']) {
    return res.json("ERROR");
  }
  else {
    ValidateJWTFunction(req.headers['x-access-token'],function(auth_state) {
      if (!auth_state)
          return res.json("ERROR");
      else
          next();
    });
  }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读