【发布时间】:2020-05-08 19:19:56
【问题描述】:
我正在使用 Laravel 和 Vue 构建一个 SPA,我不希望用户访问我尝试使用 Laravel 中间件的 /products/create 路由,但它没有帮助
这是我的 App.vue 组件
<template>
<div>
<Navbar :name="user.name"/>
<router-view></router-view>
</div>
</template>
<script>
import Navbar from "./Navbar";
export default {
name: "App",
props: [
'user'
],
components: {
Navbar,
},
created() {
window.axios.interceptors.request.use(config => {
config.headers.common['Authorization'] = 'Bearer ' + this.user.api_token;
return config;
});
},
}
</script>
IsAdmin.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class IsAdmin
{
public function handle($request, Closure $next)
{
if (! Auth::user()->isAdmin) {
return response()->json(['error' => 'Unauthorized'], 403);
}
return $next($request);
}
}
如何将非授权用户重定向到 404 页面?
【问题讨论】:
-
你在 laravel 中是怎么做的?您是否在每个用户中都使用角色?
-
“我尝试过使用 Laravel 中间件,但没有帮助” - 我在您的问题中没有看到任何中间件代码...如果您尝试过它并且它不起作用,包含该代码,以便我们可以看到您的方法出了什么问题。
-
请分享你的代码:)(中间件)
-
谢谢。我已经分享过了。
标签: laravel vue.js single-page-application