|
|
@@ -12,6 +12,7 @@ const removeNullPropertyFromObject = require('../../../lib/util/removeNullProper
|
|
|
|
|
|
const validator = {
|
|
|
generalSetting: [
|
|
|
+ body('sessionMaxAge').optional({ checkFalsy: true }).trim().isInt(),
|
|
|
body('restrictGuestMode').if(value => value != null).isString().isIn([
|
|
|
'Deny', 'Readonly',
|
|
|
]),
|
|
|
@@ -361,6 +362,7 @@ module.exports = (crowi) => {
|
|
|
hideRestrictedByOwner: await crowi.configManager.getConfig('crowi', 'security:list-policy:hideRestrictedByOwner'),
|
|
|
hideRestrictedByGroup: await crowi.configManager.getConfig('crowi', 'security:list-policy:hideRestrictedByGroup'),
|
|
|
wikiMode: await crowi.configManager.getConfig('crowi', 'security:wikiMode'),
|
|
|
+ sessionMaxAge: await crowi.configManager.getConfig('crowi', 'security:sessionMaxAge'),
|
|
|
},
|
|
|
localSetting: {
|
|
|
useOnlyEnvVarsForSomeOptions: await crowi.configManager.getConfig('crowi', 'security:passport-local:useOnlyEnvVarsForSomeOptions'),
|
|
|
@@ -566,7 +568,8 @@ module.exports = (crowi) => {
|
|
|
* $ref: '#/components/schemas/GeneralSetting'
|
|
|
*/
|
|
|
router.put('/general-setting', loginRequiredStrictly, adminRequired, csrf, validator.generalSetting, apiV3FormValidator, async(req, res) => {
|
|
|
- const requestParams = {
|
|
|
+ const updateData = {
|
|
|
+ 'security:sessionMaxAge': parseInt(req.body.sessionMaxAge),
|
|
|
'security:restrictGuestMode': req.body.restrictGuestMode,
|
|
|
'security:pageCompleteDeletionAuthority': req.body.pageCompleteDeletionAuthority,
|
|
|
'security:list-policy:hideRestrictedByOwner': req.body.hideRestrictedByOwner,
|
|
|
@@ -575,11 +578,12 @@ module.exports = (crowi) => {
|
|
|
const wikiMode = await crowi.configManager.getConfig('crowi', 'security:wikiMode');
|
|
|
if (wikiMode === 'private' || wikiMode === 'public') {
|
|
|
logger.debug('security:restrictGuestMode will not be changed because wiki mode is forced to set');
|
|
|
- delete requestParams['security:restrictGuestMode'];
|
|
|
+ delete updateData['security:restrictGuestMode'];
|
|
|
}
|
|
|
try {
|
|
|
- await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
|
|
|
+ await crowi.configManager.updateConfigsInTheSameNamespace('crowi', updateData);
|
|
|
const securitySettingParams = {
|
|
|
+ sessionMaxAge: await crowi.configManager.getConfig('crowi', 'security:sessionMaxAge'),
|
|
|
restrictGuestMode: await crowi.configManager.getConfig('crowi', 'security:restrictGuestMode'),
|
|
|
pageCompleteDeletionAuthority: await crowi.configManager.getConfig('crowi', 'security:pageCompleteDeletionAuthority'),
|
|
|
hideRestrictedByOwner: await crowi.configManager.getConfig('crowi', 'security:list-policy:hideRestrictedByOwner'),
|