Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 访问或将Express会话数据传递给Angular 6_Node.js_Angular_Express_Session_Nginx - Fatal编程技术网

Node.js 访问或将Express会话数据传递给Angular 6

Node.js 访问或将Express会话数据传递给Angular 6,node.js,angular,express,session,nginx,Node.js,Angular,Express,Session,Nginx,在我们的设置中,我们使用Nginx、Node 8.11和Angular CLI 6,我试图将Express中设置的值返回Angular 6前端 我想我可能有一个独特的设置,我需要一些关于如何继续的帮助。在我们的设置中,我们有一个公司要求的登录页面,所有应用程序都会路由到该页面。当用户成功登录到该页面时,它将重定向回调用站点,然后继续正常处理 流程是这样的 第一名: 用户输入我们的内部url-我们使用nginx和node。然后在node server.js中,我们在express中设置了一个会话,

在我们的设置中,我们使用Nginx、Node 8.11和Angular CLI 6,我试图将Express中设置的值返回Angular 6前端

我想我可能有一个独特的设置,我需要一些关于如何继续的帮助。在我们的设置中,我们有一个公司要求的登录页面,所有应用程序都会路由到该页面。当用户成功登录到该页面时,它将重定向回调用站点,然后继续正常处理

流程是这样的

第一名: 用户输入我们的内部url-我们使用nginx和node。然后在node server.js中,我们在express中设置了一个会话,如下所示:

// setup our session managment
var session = require('express-session');
app.use(session({
   name: config.ses_cookie_name,
   resave: true,
   saveUninitialized: true,
   secret: config.session_secret
}));
第二步: 然后,我们的节点server.js调用一个路由/进程——例如app.use(auth.verifyuser());这将调用公司登录页面,该页面将验证用户(或不验证用户)并发回用户信息

第3步。 一旦节点应用程序从公司登录页面获得有效的用户信息,它就会继续将用户路由到主应用程序

app.get('*', (req, res) => {
     res.sendFile(path.resolve('dist/index.html'));
    }
});
我的主要问题是-在这一点上,在我启动应用程序的角度部分之前,我有用户的信誉(用户名、级别等)。但是,我不知道如何将这些信息传递给Angular应用程序,或者Angular是否已经可以访问这些变量。如有任何建议,将不胜感激

而且,我不是专家,一直在学习


谢谢

不,您不能使用
res.sendFile(…)
方法和html一起发送任何数据,您可以使用如下方法

res.render('index', { loggedInUser: loggedInUserObj }, function(err, html) {
  // ...
});
app.set('view engine', 'ejs');  
注意:在上面的示例中,假设
loggedInUserObj
保存您登录的用户的数据

为了使用它,您需要像这样设置
查看引擎

res.render('index', { loggedInUser: loggedInUserObj }, function(err, html) {
  // ...
});
app.set('view engine', 'ejs');  
然后你可以像这样定义你的
索引
页面(你正在使用
res.render
)这里我转储
loggedInUserObj
对象以确保我们的数据被传递

 <%- JSON.stringify(loggedInUserObj) %>

希望这有帮助