Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs 如何仅限制管理员添加用户?_Angularjs_Express - Fatal编程技术网

Angularjs 如何仅限制管理员添加用户?

Angularjs 如何仅限制管理员添加用户?,angularjs,express,Angularjs,Express,我不熟悉express.js。我被管理员添加用户的问题困扰了。如果管理员注销,用户也不应该添加。这是我的密码,有人能帮我吗。Iam使用express.js和mongodb 这是服务器端代码 route.js express.js 这是我的登录码 这是adduser代码 但是,在执行代码时,它会得到一个错误,即req.session.value未定义 i、 e..,数据不是从登录页获取的。 发布此代码的主要目的是管理员只需在用户登录时添加该用户。否则应发送一条消息,好像您不是管理员或请登录 实际上

我不熟悉express.js。我被管理员添加用户的问题困扰了。如果管理员注销,用户也不应该添加。这是我的密码,有人能帮我吗。Iam使用express.js和mongodb

这是服务器端代码

route.js

express.js

这是我的登录码

这是adduser代码

但是,在执行代码时,它会得到一个错误,即req.session.value未定义 i、 e..,数据不是从登录页获取的。
发布此代码的主要目的是管理员只需在用户登录时添加该用户。否则应发送一条消息,好像您不是管理员或请登录

实际上passport使用logIn方法在req对象上设置用户,因此您不需要此行

 req.session.value = user; // remove this
您只需让用户登录即可

console.log(req.user);
为了验证这一点

在server.js或you app.js中添加此中间件

app.use(function(req, res, next) {
    console.log(req.user);
    next();
    });
在这里,在登录发生并调用authenticate plus登录方法之后,刷新页面将为您的用户创建console.log

向会话添加自定义对象/变量

要在passport会话中添加用户对象或任何其他内容,您可以按如下操作

req.session.passport.hi = "hello";
若要在后续页面刷新中将其添加到会话后验证这一点,请参阅使用以下中间件时的控制台

app.use(function(req, res, next) {
        console.log(req.session.passport.hi);
        next();
        });
app.use(function(req, res, next) {
    console.log(req.user);
    next();
    });
req.session.passport.hi = "hello";
app.use(function(req, res, next) {
        console.log(req.session.passport.hi);
        next();
        });