Przeglądaj źródła

add LDAP enabled mark to login.html

Yuki Takei 8 lat temu
rodzic
commit
6fcf5b5ecb

+ 6 - 0
lib/models/config.js

@@ -245,6 +245,12 @@ module.exports = function(crowi) {
     return getValueForCrowiNS(config, key);
     return getValueForCrowiNS(config, key);
   };
   };
 
 
+  configSchema.statics.isEnabledLdap = function(config)
+  {
+    // TODO impl
+    return false;
+  };
+
   configSchema.statics.isUploadable = function(config)
   configSchema.statics.isUploadable = function(config)
   {
   {
     var method = crowi.env.FILE_UPLOAD || 'aws';
     var method = crowi.env.FILE_UPLOAD || 'aws';

+ 10 - 4
lib/routes/login-passport.js

@@ -11,7 +11,7 @@ module.exports = function(crowi, app) {
    * @param {*} req
    * @param {*} req
    * @param {*} res
    * @param {*} res
    */
    */
-  const loginSuccess = (req, res, user) => {
+  function loginSuccess(req, res) {
     debug('loginSuccess called');
     debug('loginSuccess called');
 
 
     var jumpTo = req.session.jumpTo;
     var jumpTo = req.session.jumpTo;
@@ -33,6 +33,12 @@ module.exports = function(crowi, app) {
     return res.redirect('/login');
     return res.redirect('/login');
   };
   };
 
 
+  /**
+   * middleware that login with LdapStrategy
+   * @param {*} req
+   * @param {*} res
+   * @param {*} next
+   */
   const loginWithLdap = (req, res, next) => {
   const loginWithLdap = (req, res, next) => {
     const loginForm = req.body.loginForm;
     const loginForm = req.body.loginForm;
 
 
@@ -59,14 +65,14 @@ module.exports = function(crowi, app) {
       req.logIn(user, (err) => {
       req.logIn(user, (err) => {
         if (err) { return next(); }
         if (err) { return next(); }
         else {
         else {
-          return loginSuccess(req, res, user);
+          return loginSuccess(req, res);
         }
         }
       });
       });
     })(req, res, next);
     })(req, res, next);
   }
   }
 
 
   /**
   /**
-   * login with LocalStrategy action
+   * middleware that login with LocalStrategy
    * @param {*} req
    * @param {*} req
    * @param {*} res
    * @param {*} res
    * @param {*} next
    * @param {*} next
@@ -92,7 +98,7 @@ module.exports = function(crowi, app) {
       req.logIn(user, (err) => {
       req.logIn(user, (err) => {
         if (err) { return next(); }
         if (err) { return next(); }
         else {
         else {
-          return loginSuccess(req, res, user);
+          return loginSuccess(req, res);
         }
         }
       });
       });
     })(req, res, next);
     })(req, res, next);

+ 5 - 0
lib/util/swigFunctions.js

@@ -24,6 +24,11 @@ module.exports = function(crowi, app, req, locals) {
     return req.csrfToken;
     return req.csrfToken;
   };
   };
 
 
+  locals.isEnabledLdap = function() {
+    var config = crowi.getConfig()
+    return Config.isEnabledPassport(config) && Config.isEnabledLdap(config);
+  }
+
   locals.googleLoginEnabled = function() {
   locals.googleLoginEnabled = function() {
     var config = crowi.getConfig()
     var config = crowi.getConfig()
     return config.crowi['google:clientId'] && config.crowi['google:clientSecret'];
     return config.crowi['google:clientId'] && config.crowi['google:clientSecret'];

+ 9 - 2
lib/views/login.html

@@ -47,12 +47,19 @@
     </div>
     </div>
     <form role="form" action="/login" method="post">
     <form role="form" action="/login" method="post">
       <div class="input-group">
       <div class="input-group">
-        <span class="input-group-addon"><i class="fa fa-user"></i></span>
+        <span class="input-group-addon"><i class="fa fa-fw fa-user"></i></span>
         <input type="text" class="form-control" placeholder="Username or E-mail" name="loginForm[username]">
         <input type="text" class="form-control" placeholder="Username or E-mail" name="loginForm[username]">
+        {% if isEnabledLdap() %}
+        <span class="input-group-addon">
+          <small class="text-primary">
+            <i class="fa fa-fw fa-check-circle"></i> LDAP
+          </small>
+        </span>
+        {% endif %}
       </div>
       </div>
 
 
       <div class="input-group">
       <div class="input-group">
-        <span class="input-group-addon"><i class="fa fa-key"></i></span>
+        <span class="input-group-addon"><i class="fa fa-fw fa-key"></i></span>
         <input type="password" class="form-control" placeholder="Password" name="loginForm[password]">
         <input type="password" class="form-control" placeholder="Password" name="loginForm[password]">
       </div>
       </div>