Przeglądaj źródła

ensure to trigger resetting and setupping LdapStrategy by router

Yuki Takei 8 lat temu
rodzic
commit
f05bb4e1d6
2 zmienionych plików z 11 dodań i 5 usunięć
  1. 3 3
      lib/models/config.js
  2. 8 2
      lib/routes/admin.js

+ 3 - 3
lib/models/config.js

@@ -251,10 +251,10 @@ module.exports = function(crowi) {
     return getValueForCrowiNS(config, key);
   };
 
-  configSchema.statics.isEnabledLdap = function(config)
+  configSchema.statics.isEnabledPassportLdap = function(config)
   {
-    // TODO impl
-    return false;
+    const key = 'security:passport-ldap:isEnabled';
+    return getValueForCrowiNS(config, key);
   };
 
   configSchema.statics.isUploadable = function(config)

+ 8 - 2
lib/routes/admin.js

@@ -526,8 +526,14 @@ module.exports = function(crowi, app) {
     debug('form content', form);
     return saveSettingAsync(form)
       .then(() => {
-        // re-setup strategy (force: true)
-        crowi.passportService.setupLdapStrategy(true);
+        const config = crowi.getConfig();
+
+        // reset strategy
+        crowi.passportService.resetLdapStrategy();
+        // setup strategy
+        if (Config.isEnabledPassportLdap(config)) {
+          crowi.passportService.setupLdapStrategy(true);
+        }
         return;
       })
       .then(() => {