diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 58f9b8ab..392564cc 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use Auth; class UserController extends Controller { @@ -15,7 +16,9 @@ class UserController extends Controller * @return \Illuminate\Http\Response */ public function show(Request $request) - { - return $request->user(); + { + + $user = Auth::user(); + return $user; } } diff --git a/app/User.php b/app/User.php index 065b512e..855641bb 100644 --- a/app/User.php +++ b/app/User.php @@ -58,7 +58,7 @@ class User extends Authenticatable implements JWTSubject */ public function getRoleAttribute() { - // return $this->roles->first()->name; + return $this->roles->first()->name; } /** diff --git a/resources/assets/js/middleware/admin.js b/resources/assets/js/middleware/admin.js index 276ef3de..f2ccc855 100644 --- a/resources/assets/js/middleware/admin.js +++ b/resources/assets/js/middleware/admin.js @@ -1,7 +1,8 @@ import store from '~/store' export default (to, from, next) => { - if (store.getters['auth/user'].role !== 'admin') { + console.log(store.getters['auth/role']) + if (store.getters['auth/role'] !== 'admin') { next({ name: 'home' }) } else { next() diff --git a/resources/assets/js/middleware/auth.js b/resources/assets/js/middleware/auth.js index 138da317..d89739bb 100644 --- a/resources/assets/js/middleware/auth.js +++ b/resources/assets/js/middleware/auth.js @@ -3,7 +3,7 @@ import store from '~/store' export default async (to, from, next) => { if (!store.getters['auth/check']) { next({ name: 'login' }) - } else if (store.getters['auth/user'].role == 'admin') { + } else if (store.getters['auth/role'] == 'admin') { next({ name: 'admin.home' }) } else { next() diff --git a/resources/assets/js/store/modules/auth.js b/resources/assets/js/store/modules/auth.js index 742199b0..11fe5241 100644 --- a/resources/assets/js/store/modules/auth.js +++ b/resources/assets/js/store/modules/auth.js @@ -5,13 +5,15 @@ import * as types from '../mutation-types' // state export const state = { user: null, - token: Cookies.get('token') + token: Cookies.get('token'), + role: null } // getters export const getters = { user: state => state.user, token: state => state.token, + role: state => state.role, check: state => state.user !== null } @@ -23,7 +25,9 @@ export const mutations = { }, [types.FETCH_USER_SUCCESS] (state, { user }) { + console.log(user) state.user = user + state.role = user.role }, [types.FETCH_USER_FAILURE] (state) { @@ -33,6 +37,7 @@ export const mutations = { [types.LOGOUT] (state) { state.user = null + state.role = null state.token = null Cookies.remove('token')