diff --git a/client/coral-admin/src/actions/auth.js b/client/coral-admin/src/actions/auth.js index bdb101362..c2f3a8056 100644 --- a/client/coral-admin/src/actions/auth.js +++ b/client/coral-admin/src/actions/auth.js @@ -9,7 +9,7 @@ const checkLoginFailure = error => ({type: actions.CHECK_LOGIN_FAILURE, error}); export const checkLogin = () => dispatch => { dispatch(checkLoginRequest()); - coralApi('/auth') + return coralApi('/auth') .then(result => { const isAdmin = !!result.user.roles.filter(i => i === 'ADMIN').length; dispatch(checkLoginSuccess(result.user, isAdmin)); diff --git a/client/coral-admin/src/containers/LayoutContainer.js b/client/coral-admin/src/containers/LayoutContainer.js index 225e92884..5ce208503 100644 --- a/client/coral-admin/src/containers/LayoutContainer.js +++ b/client/coral-admin/src/containers/LayoutContainer.js @@ -8,7 +8,11 @@ import {PermissionRequired} from '../components/PermissionRequired'; class LayoutContainer extends Component { componentWillMount () { const {checkLogin} = this.props; - checkLogin(); + checkLogin().then(() => { + if (!this.props.auth.isAdmin) { + location.href = '/admin/login'; + } + }); } render () { const {isAdmin, loggedIn, loadingUser} = this.props.auth;