Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 基于redis的环回会话_Node.js_Redis_Loopbackjs - Fatal编程技术网

Node.js 基于redis的环回会话

Node.js 基于redis的环回会话,node.js,redis,loopbackjs,Node.js,Redis,Loopbackjs,首先,我想说,我已经看到有关问题的问题,但没有找到答案 我想在环回中使用redis进行会话,但req在代码中不可用 server/server.js var redis = require("redis"); var session = require('express-session'); var redisStore = require('connect-redis')(session); app.use(session({ secret: 'hello', store:

首先,我想说,我已经看到有关问题的问题,但没有找到答案

我想在环回中使用redis进行会话,但req在代码中不可用

server/server.js

var redis   = require("redis");
var session = require('express-session');
var redisStore = require('connect-redis')(session);
app.use(session({
    secret: 'hello',
    store: new redisStore({ host: 'localhost', port: 6379, client: client,ttl :  3600}),//1 hour
    saveUninitialized: false,
    resave: false
}));
我想在环回应用程序上实现基于Redis的express会话,但如果不亲自编写整个路由控制器,我就找不到实现的方法

我目前正在扩展模型并创建remoteMethod(),但无论如何我都无法访问中的“req”

这是我的TrmptUsers模型代码(参见第3行)

通用/models/trmpt-users.js


很久以前,我就找到了解决上述所有问题的方法,因为有人投了赞成票,我想他们可能想要一个答案,所以我在这里发布了一个

server/server.js

var redis   = require("redis");
var session = require('express-session');
var redisStore = require('connect-redis')(session);
app.use(session({
    secret: 'hello',
    store: new redisStore({ host: 'localhost', port: 6379, client: client,ttl :  3600}),//1 hour
    saveUninitialized: false,
    resave: false
}));
然后,当您创建模型时,
slc:loopbackmodel
,您可以选择将req对象添加到参数中

model-specific.json

...
"methods": {
    "userLogin": {
      "isStatic": true,
      "accepts": [
        {
          "arg": "req",
          "type": "object",
          "required": true,
          "description": "",
          "http": {
            "source": "req"
          }
        },
        {
          "arg": "username",
          "type": "string",
          "required": true,
          "description": "Username"
        },
        {
          "arg": "password",
          "type": "string",
          "required": true,
          "description": "Password"
        }
      ],
      "returns": [
        {
          "arg": "accessToken",
          "type": "string",
          "root": false,
          "description": ""
        }
      ],
...

然后以任何方式使用req.session,并记住首先安装redis server。

您的问题是什么?重新检查问题@SergeyYarotskiy
...
"methods": {
    "userLogin": {
      "isStatic": true,
      "accepts": [
        {
          "arg": "req",
          "type": "object",
          "required": true,
          "description": "",
          "http": {
            "source": "req"
          }
        },
        {
          "arg": "username",
          "type": "string",
          "required": true,
          "description": "Username"
        },
        {
          "arg": "password",
          "type": "string",
          "required": true,
          "description": "Password"
        }
      ],
      "returns": [
        {
          "arg": "accessToken",
          "type": "string",
          "root": false,
          "description": ""
        }
      ],
...