Keisuke SATO 11 лет назад
Родитель
Сommit
74d3ebfa21
2 измененных файлов с 30 добавлено и 18 удалено
  1. 16 5
      app.js
  2. 14 13
      package.json

+ 16 - 5
app.js

@@ -19,9 +19,10 @@ var express  = require('express')
   , models
   , config
   , server
+  , sessionConfig
+  , RedisStore
   ;
 
-
 time.tzset('Asia/Tokyo');
 
 var app = express();
@@ -35,6 +36,19 @@ var mongoUri = process.env.MONGOLAB_URI
 
 mongo.connect(mongoUri);
 
+sessionConfig = {
+  rolling: true,
+  secret: process.env.SECRET_TOKEN || 'this is default session secret'
+};
+
+if (process.env.REDIS_URL) {
+  RedisStore = require('connect-redis')(express);
+  sessionConfig.store = new RedisStore({
+    prefix: 'crowi:sess:',
+    url: process.env.REDIS_URL
+  });
+}
+
 app.set('port', process.env.PORT || 3000);
 app.use(express.static(__dirname + '/public'));
 app.use(express.logger());
@@ -45,10 +59,7 @@ app.set('views', __dirname + '/views');
 app.use(express.methodOverride());
 app.use(express.bodyParser());
 app.use(express.cookieParser());
-app.use(express.session({
-  rolling: true,
-  secret: process.env.SECRET_TOKEN || 'this is default session secret',
-}));
+app.use(express.session(sessionConfig));
 app.use(flash());
 
 configModel = require('./models/config')(app);

+ 14 - 13
package.json

@@ -20,33 +20,34 @@
   "dependencies": {
     "async": "=0.1.18",
     "aws-sdk": "~2.0.0-rc.19",
+    "bower": "~1.3.9",
+    "cli": "~0.6.4",
     "connect-flash": "~0.1.1",
+    "connect-redis": "^1.4.7",
     "consolidate": "=0.10.0",
     "debug": "^1.0.3",
     "express": "=3.4.4",
     "express-form": "~0.10.1",
     "facebook-node-sdk": "=0.1.10",
     "googleapis": "=0.4.7",
-    "jquery.cookie": "~1.4.1",
-    "marked": "=0.2.9",
-    "mongoose": "=3.8.14",
-    "socket.io": "~0.9.16",
-    "socket.io-client": "~0.9.16",
-    "swig": "=1.3.2",
-    "time": "=0.10.0",
-    "mongoose-paginate": "~3.1.0",
     "grunt": "~0.4.1",
+    "grunt-cli": "~0.1.13",
     "grunt-contrib-concat": "~0.3.0",
     "grunt-contrib-jshint": "^0.10.0",
     "grunt-contrib-uglify": "~0.2.2",
     "grunt-contrib-watch": "~0.5.3",
     "grunt-sass": "~0.14.1",
-    "reveal.js": "~2.6.2",
-    "grunt-cli": "~0.1.13",
-    "bower": "~1.3.9",
-    "cli": "~0.6.4",
+    "jquery.cookie": "~1.4.1",
+    "marked": "=0.2.9",
+    "mongoose": "=3.8.14",
+    "mongoose-paginate": "~3.1.0",
     "nodemailer": "~1.2.2",
-    "nodemailer-ses-transport": "~1.1.0"
+    "nodemailer-ses-transport": "~1.1.0",
+    "reveal.js": "~2.6.2",
+    "socket.io": "~0.9.16",
+    "socket.io-client": "~0.9.16",
+    "swig": "=1.3.2",
+    "time": "=0.10.0"
   },
   "devDependencies": {},
   "license": [