Я пытаюсь защитить некоторые vue компоненты, чтобы пользователь сначала авторизировался, чтобы просмотреть его. Проблема в том, что пользователь все еще может видеть компонент, даже если окно . laravel .islogin равно false , и они не вошли в систему.
Приложение . js
const routes = [
{path:'/',component: require('./components/Home.vue').default},
{path:'/form',component: require('./components/Form.vue').default, meta: {
authRequired: true
}},
]
const router = new VueRouter({
routes,
mode: 'history'
});
router.beforeEach((to, from, next) => {
if (to.meta.authRequired) {
if(window.laravel.isLogin){
console.log(window.laravel.isLogin) //returns true or false
next()
}else{
next('/login')
}
}else {
next()
}
});
Клинок приложения. php
<script>
window.laravel = @json(['isLogin' => auth()->check() ? 'true' : 'false']);
</script>