mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 12:05:57 +01:00
Adding more specific timing for session timings
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -60,13 +60,17 @@
|
||||
|
||||
module.initSessionStore = function (callback) {
|
||||
var meta = require('../meta');
|
||||
connectRedis = require('connect-redis')(session);
|
||||
var sessionStore = require('connect-redis')(session);
|
||||
|
||||
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 connectRedis({
|
||||
client: redisClient,
|
||||
ttl: ttlDays
|
||||
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">
|
||||
|
||||
@@ -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') : '';
|
||||
|
||||
Reference in New Issue
Block a user