0

我已修改https://github.com/jimpick/everyauth-example-password/blob/master/server.js以使用 mysql 登录。

我想访问会话

authenticate(function(login, password) {
        var errors = [];
        var user = [];
        userModule.CheckUserLogin(login, password, function(err, results) {
            if(results.length > 0) {
                req.session.login = login;
                return user;
            }
            else {
                if(!user) return ['Login failed'];
            }
        });
        return user;
    })

我在底部有这个代码

var app = express.createServer(

    express.bodyParser()
  , express.static(__dirname + "/public")
  , express.cookieParser()
  , express.session({ secret: 'htuayreve' })
  , everyauth.middleware()
);

app.configure(function() {
    app.set('view engine', 'jade');
});

app.get('/', function(req, res) {
    res.render('home', { users: JSON.stringify(usersByLogin, null, 2) });
});

如果我从下到上粘贴应用程序代码,那么everyayth 的路由不起作用。我想简单地知道如何访问req.session.login 内部everyauth 函数。

4

1 回答 1

1

您无法从您的authenticate函数访问会话。支持访问经过身份验证的用户信息的everyauth 方法是让您为findUserByIdeveryauth 提供一个函数,该函数将根据用户ID 查找用户记录,该用户ID 在身份验证期间存储在会话中。完成此操作后,您可以通过req.user.

请参阅everyauth 网站上的“访问用户”部分。

于 2012-06-07T22:18:40.573 回答