Ver código fonte

AMBARI-14243. FE: Show message on login page if authentication failed

Alex Antonenko 9 anos atrás
pai
commit
dcaaca2ea8

+ 2 - 2
ambari-web/app/controllers/login_controller.js

@@ -37,7 +37,7 @@ App.LoginController = Em.Object.extend({
 
   postLogin: function (isConnected, isAuthenticated, responseText) {
     if (!isConnected) {
-      this.set('errorMessage', Em.I18n.t('login.error.bad.connection'));
+      this.set('errorMessage', responseText || Em.I18n.t('login.error.bad.connection'));
     } else if (!isAuthenticated) {
       var errorMessage = "";
       if( responseText === "User is disabled" ){
@@ -51,4 +51,4 @@ App.LoginController = Em.Object.extend({
     this.set('isSubmitDisabled', false);
   }
 
-});
+});

+ 8 - 1
ambari-web/app/router.js

@@ -221,6 +221,9 @@ App.Router = Em.Router.extend({
       } finally {
         this.setAuthenticated(false);
       }
+    } else if (data.status >= 500) {
+      this.setAuthenticated(false);
+      this.loginErrorCallback(data);
     }
   },
 
@@ -331,12 +334,16 @@ App.Router = Em.Router.extend({
   loginErrorCallback: function(request) {
     var controller = this.get('loginController');
     this.setAuthenticated(false);
-    if (request.status == 403) {
+    if (request.status > 400) {
       var responseMessage = request.responseText;
       try{
         responseMessage = JSON.parse(request.responseText).message;
       }catch(e){}
+    }
+    if (request.status == 403) {
       controller.postLogin(true, false, responseMessage);
+    } else if (request.status == 500) {
+      controller.postLogin(false, false, responseMessage);
     } else {
       controller.postLogin(false, false, null);
     }