Repository: ignite Updated Branches: refs/heads/ignite-843-rc2 95b716bd7 -> 940466bc5
IGNITE-843 Fixed auth. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/940466bc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/940466bc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/940466bc Branch: refs/heads/ignite-843-rc2 Commit: 940466bc5eea2f19f6e8fb30206f776513a39771 Parents: 95b716b Author: Andrey <anovi...@gridgain.com> Authored: Fri Dec 4 15:26:54 2015 +0700 Committer: Andrey <anovi...@gridgain.com> Committed: Fri Dec 4 15:26:54 2015 +0700 ---------------------------------------------------------------------- .../src/main/js/app/modules/Auth/index.js | 19 +++++++++++-------- .../src/main/js/app/modules/User/index.js | 10 +++++++++- .../main/js/app/modules/states/login/index.js | 5 +++++ 3 files changed, 25 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/940466bc/modules/control-center-web/src/main/js/app/modules/Auth/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Auth/index.js b/modules/control-center-web/src/main/js/app/modules/Auth/index.js index 626b86c..49ac849 100644 --- a/modules/control-center-web/src/main/js/app/modules/Auth/index.js +++ b/modules/control-center-web/src/main/js/app/modules/Auth/index.js @@ -22,33 +22,36 @@ angular ]) .provider('Auth', function () { - var _authorized = false; + var _auth = false; try { - _authorized = localStorage.authorized === 'true'; + _auth = localStorage.authorized === 'true'; } catch (ignore) { // No-op. } - function authorized (value) { + function _authorized (value) { try { - return _authorized = localStorage.authorized = !!value; + return _auth = localStorage.authorized = !!value; } catch (ignore) { - return _authorized = !!value; + return _auth = !!value; } } this.$get = ['$http', '$rootScope', '$state', '$common', 'User', function($http, $root, $state, $common, User) { return { get authorized () { - return _authorized; + return _auth; }, + set authorized (auth) { + _authorized(auth); + }, auth(action, userInfo) { $http.post('/api/v1/' + action, userInfo) .then(User.read) .then(function (user) { if (action != 'password/forgot') { - authorized(true); + _authorized(true); $root.$broadcast('user', user); @@ -65,7 +68,7 @@ angular .then(function () { User.clean(); - authorized(false); + _authorized(false); $state.go('login'); }) http://git-wip-us.apache.org/repos/asf/ignite/blob/940466bc/modules/control-center-web/src/main/js/app/modules/User/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/User/index.js b/modules/control-center-web/src/main/js/app/modules/User/index.js index 4842dfb..3c08bc8 100644 --- a/modules/control-center-web/src/main/js/app/modules/User/index.js +++ b/modules/control-center-web/src/main/js/app/modules/User/index.js @@ -30,13 +30,21 @@ angular // No-op. } - this.$get = ['$q', '$rootScope', '$http', ($q, $root, $http) => { + this.$get = ['$q', '$injector', '$rootScope', '$state', '$http', ($q, $injector, $root, $state, $http) => { if (_user) $root.user = _user; return { read() { return $http.post('/api/v1/user').then(({data}) => { + if (_.isEmpty(data)) { + var Auth = $injector.get('Auth'); + + Auth.authorized = false; + + $state.go('login'); + } + try { localStorage.user = JSON.stringify(data); } catch(ignore) { http://git-wip-us.apache.org/repos/asf/ignite/blob/940466bc/modules/control-center-web/src/main/js/app/modules/states/login/index.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/login/index.js b/modules/control-center-web/src/main/js/app/modules/states/login/index.js index 5717e0f..7f60267 100644 --- a/modules/control-center-web/src/main/js/app/modules/states/login/index.js +++ b/modules/control-center-web/src/main/js/app/modules/states/login/index.js @@ -38,5 +38,10 @@ angular $state.go('login'); } + else if (Auth.authorized && toState.name === 'login') { + event.preventDefault(); + + $state.go('base.configuration.clusters'); + } }); }]);