我基于mean.js锅炉板如何确定登录用户的平均堆栈应用
在我的服务器代码(表达)我需要是基于了解一些决定写一个应用程序谁登录的用户是
我有护照本地帐户实施。
如何在服务器代码中确定当前登录用户的身份?
我基于mean.js锅炉板如何确定登录用户的平均堆栈应用
在我的服务器代码(表达)我需要是基于了解一些决定写一个应用程序谁登录的用户是
我有护照本地帐户实施。
如何在服务器代码中确定当前登录用户的身份?
如果您正在使用护照,您只需访问req.user
,因为它已经提到过。
考虑看看你的要点,我的猜测是,你的一些路线的定义比app.use(passport.initialize());
和app.use(passport.session());
早得多,这意味着,如果收到请求get /opportunity_ids
(例如),req.user
还有待填充。
如果你走在堆得远一点,你会发现,所有的其它路由注入护照在行初始化后:
// Globbing routing files
config.getGlobbedFiles('./app/routes/**/*.js').forEach(function(routePath) {
require(path.resolve(routePath))(app);
});
的解决办法是把所有的自定义在./app/routes/**/
的护照启动之前定义的路由,并让路由文件自动填充。 req.user
将不会被定义。
每个中间件放置的顺序非常重要,如果顺序发生变化,可能会产生意外的行为。
如果用户登录,passport.js将为每个请求创建一个用户对象。它将该用户设置为请求中的一个属性(req.user
)。您可以通过该对象访问用户的任何属性。例如:req.user.username
,req.user.email
等
然后我必须做错了=我的req.user是未定义的。这里是整个文件的要点:https://gist.github.com/eugene-goldberg/df34da0977a475056425 –