基于JWT身份验证和角色路由到Express中的多个Angular 7项目

时间:2019-02-12 08:06:58

标签: node.js angular express jwt express-jwt

我创建了一个Angular 7项目,该项目具有针对不同角色(例如管理员,用户,编辑者等)的多个应用程序。每个应用程序具有不同的组件和视图。

已登录的用户将进入其用户角色应用程序,任何访客用户都将进入具有登录和注册页面的“网站”应用程序。

我的问题是根据身份验证期间确定的用户角色,将Express路由到不同的角度应用程序。这适用于一个角度应用程序,但不适用于多个角度应用程序

app.get('/', (req, res) => {
  if (user.isAdmin) {
    return res.sendFile(path.join(__dirname, '../../client/dist/admin/index.html'));
  }
  if (user.isUser) {
    return res.sendFile(path.join(__dirname, '../../client/dist/user/index.html'));
  }
  return res.sendFile(path.join(__dirname, '../../client/dist/website/index.html'));
})

1 个答案:

答案 0 :(得分:1)

解决了这个问题,只需要将index.html重命名为以下不同的角色名称,

app.get('/', (req, res) => {
  if (user.isAdmin) {
    return res.sendFile(path.join(__dirname, '../../client/dist/admin/admin.html'));
  }
  if (user.isUser) {
    return res.sendFile(path.join(__dirname, '../../client/dist/user/user.html'));
  }
  return res.sendFile(path.join(__dirname, '../../client/dist/website/website.html'));
})