Просмотр исходного кода

ensure to retrieve userUpperLimit from ConfigManager

Yuki Takei 6 лет назад
Родитель
Сommit
f6d8c0e9d5
3 измененных файлов с 9 добавлено и 17 удалено
  1. 3 6
      src/server/models/user.js
  2. 0 11
      src/server/service/acl.js
  3. 6 0
      src/server/service/config-loader.js

+ 3 - 6
src/server/models/user.js

@@ -504,15 +504,12 @@ module.exports = function(crowi) {
   };
 
   userSchema.statics.isUserCountExceedsUpperLimit = async function() {
-    const { aclService } = crowi;
+    const { configManager } = crowi;
 
-    const userUpperLimit = aclService.userUpperLimit();
-    if (userUpperLimit === 0) {
-      return false;
-    }
+    const userUpperLimit = configManager.getConfig('crowi', 'security:userUpperLimit');
 
     const activeUsers = await this.countListByStatus(STATUS_ACTIVE);
-    if (userUpperLimit !== 0 && userUpperLimit <= activeUsers) {
+    if (userUpperLimit <= activeUsers) {
       return true;
     }
 

+ 0 - 11
src/server/service/acl.js

@@ -79,17 +79,6 @@ class AclService {
     return labels;
   }
 
-  userUpperLimit() {
-    // const limit = this.configManager.getConfig('crowi', 'USER_UPPER_LIMIT');
-    const limit = process.env.USER_UPPER_LIMIT;
-
-    if (limit) {
-      return Number(limit);
-    }
-
-    return 0;
-  }
-
 }
 
 module.exports = AclService;

+ 6 - 0
src/server/service/config-loader.js

@@ -150,6 +150,12 @@ const ENV_VAR_NAME_TO_CONFIG_INFO = {
     type:    TYPES.STRING,
     default: undefined,
   },
+  USER_UPPER_LIMIT: {
+    ns:      'crowi',
+    key:     'security:userUpperLimit',
+    type:    TYPES.NUMBER,
+    default: Infinity,
+  },
   LOCAL_STRATEGY_ENABLED: {
     ns:      'crowi',
     key:     'security:passport-local:isEnabled',