Adding more specific timing for session timings

v1.18.x
Dominic Lennon 8 years ago
parent d248ef95cd
commit ed19454eca

@ -129,11 +129,15 @@
var rdb = require('./redis');
rdb.client = rdb.connect();
var ttlDays = 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 14);
var ttlDays = 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 0);
var ttlHours = 1000 * 60 * 60 * (parseInt(meta.config.loginHours, 10) || 0);
var ttlMinutes = 1000 * 60 * (parseInt(meta.config.loginMinutes, 10) || 0);
var ttlSeconds = 1000 * (parseInt(meta.config.loginSeconds, 10) || 0);
var ttlTotal = (ttlDays + ttlHours + ttlMinutes + ttlSeconds) || 1209600000; // Default to 14 days
module.sessionStore = new sessionStore({
client: rdb.client,
ttl: ttlDays
ttl: ttlTotal
});
} else if (nconf.get('mongo')) {
sessionStore = require('connect-mongo')(session);
@ -141,7 +145,7 @@
db: db
});
}
callback();
};

@ -59,14 +59,18 @@
};
module.initSessionStore = function (callback) {
var meta = require('../meta');
connectRedis = require('connect-redis')(session);
var ttlDays = 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 14);
module.sessionStore = new connectRedis({
client: redisClient,
ttl: ttlDays
var meta = require('../meta');
var sessionStore = require('connect-redis')(session);
var ttlDays = 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 0);
var ttlHours = 1000 * 60 * 60 * (parseInt(meta.config.loginHours, 10) || 0);
var ttlMinutes = 1000 * 60 * (parseInt(meta.config.loginMinutes, 10) || 0);
var ttlSeconds = 1000 * (parseInt(meta.config.loginSeconds, 10) || 0);
var ttlTotal = (ttlDays + ttlHours + ttlMinutes + ttlSeconds) || 1209600000; // Default to 14 days
module.sessionStore = new sessionStore({
client: module.client,
ttl: ttlTotal
});
if (typeof callback === 'function') {

@ -20,7 +20,8 @@
<div class="form-group form-inline">
<label for="emailConfirmInterval">[[admin/settings/user:email-confirm-interval]]</label>
<input class="form-control" data-field="emailConfirmInterval" type="number" id="emailConfirmInterval" placeholder="Default: 10" value="10" />
<input class="form-control" data-field="emailConfirmInterval" type="number" id="emailConfirmInterval" placeholder="Default: 10"
value="10" />
<label for="emailConfirmInterval">[[admin/settings/user:email-confirm-email2]]</label>
</div>
@ -103,10 +104,6 @@
<label for="lockoutDuration">[[admin/settings/user:lockout-duration]]</label>
<input id="lockoutDuration" type="text" class="form-control" data-field="lockoutDuration" placeholder="60" />
</div>
<div class="form-group">
<label>[[admin/settings/user:login-days]]</label>
<input type="text" class="form-control" data-field="loginDays" placeholder="14" />
</div>
<div class="form-group">
<label>[[admin/settings/user:password-expiry-days]]</label>
<input type="text" class="form-control" data-field="passwordExpiryDays" placeholder="0" />
@ -115,6 +112,25 @@
</div>
</div>
<div class="row">
<div class="col-sm-2 col-xs-12 settings-header">Session time
</div>
<div class="col-sm-10 col-xs-12">
<form>
<div class="form-group">
<label>Days: </label>
<input type="text" class="form-control" data-field="loginDays" placeholder="Days" />
<label>Hours: </label>
<input type="text" class="form-control" data-field="loginHours" placeholder="Hours" />
<label>Minutes: </label>
<input type="text" class="form-control" data-field="loginMinutes" placeholder="Minutes" />
<label>Seconds: </label>
<input type="text" class="form-control" data-field="loginSeconds" placeholder="Seconds" />
</div>
</form>
</div>
</div>
<div class="row">
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/user:registration]]</div>
<div class="col-sm-10 col-xs-12">
@ -259,4 +275,4 @@
</div>
</div>
<!-- IMPORT admin/partials/settings/footer.tpl -->
<!-- IMPORT admin/partials/settings/footer.tpl -->

@ -52,7 +52,7 @@ server.on('error', function (err) {
});
module.exports.listen = function (callback) {
callback = callback || function () {};
callback = callback || function () { };
emailer.registerApp(app);
setupExpressApp(app);
@ -139,7 +139,7 @@ function setupExpressApp(app) {
app.use(relativePath + '/apple-touch-icon', middleware.routeTouchIcon);
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cookieParser());
app.use(useragent.express());
@ -170,8 +170,14 @@ function setupFavicon(app) {
}
function setupCookie() {
var ttlDays = 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 0);
var ttlHours = 1000 * 60 * 60 * (parseInt(meta.config.loginHours, 10) || 0);
var ttlMinutes = 1000 * 60 * (parseInt(meta.config.loginMinutes, 10) || 0);
var ttlSeconds = 1000 * (parseInt(meta.config.loginSeconds, 10) || 0);
var ttlTotal = (ttlDays + ttlHours + ttlMinutes + ttlSeconds) || 1209600000; // Default to 14 days
var cookie = {
maxAge: 1000 * 60 * 60 * 24 * (parseInt(meta.config.loginDays, 10) || 14)
maxAge: ttlTotal
};
if (nconf.get('cookieDomain') || meta.config.cookieDomain) {
@ -191,7 +197,7 @@ function setupCookie() {
}
function listen(callback) {
callback = callback || function () {};
callback = callback || function () { };
var port = parseInt(nconf.get('port'), 10);
var isSocket = isNaN(port);
var socketPath = isSocket ? nconf.get('port') : '';

Loading…
Cancel
Save