我尝试创建一个基本的spa,但我想使用laravel的基本身份验证,而不是在vue中创建登录系统,因此,登录后,它将我重定向到/admin
路由希望它成为我的水疗中心的入口点,尝试使用此配置,它什么也没显示。
web.php ->路由
Route::get('/admin/{any}',function(){
return view('app');
})->where('any','.*')->name('admin')->middleware('auth');
Route::get('/admin',function(){
return view('app');
})->name('admin')->middleware('auth');
Route::get('/', 'Auth\LoginController@showLoginForm')->name('showLoginForm');
Route::post('login', 'Auth\LoginController@login')->name('login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
在我的应用程序视图中,我使用以下路线编译了应用程序文件
const routes = [
{
path: '/admin',
component: () => import(/* webpackChunkName: "routes" */`~/Pages/Layouts/Admin`),
meta: { requiresAuth: true },
children: [
{
path : '/', name : 'Home',
component: () => import(/* webpackChunkName: "routes" */`~/Pages/Admin/Home`),
meta: { },
},
{
path : 'usuarios',
component: () => import(/* webpackChunkName: "routes" */`~/Pages/Admin/Usuarios/Index`),
meta: { },
children : [
{
}
]
},
{
path: '403',
name:'403',
component: () => import(/* webpackChunkName: "routes" */`~/Pages/Errors/403`)
},
]
},
]
export default routes;
例如,我要查找的路由是misite.com/admin/users
,当然,路径用户将是我的vueRouter的路由
答案 0 :(得分:0)
如果您要使用auth laravel系统登录后将用户重定向到/admin
路径,只需转到App\Http\Controllers\Auth\LoginController
并编辑$redirectTo
属性,如下所示:
$redirectTo = '/admin'
如laravel文档所述:
成功验证用户身份后,他们 将被重定向到/ home URI。您可以自定义 通过定义redirectTo进行身份验证后的重定向位置 属性设置在LoginController,RegisterController,ResetPasswordController和VerificationController上。
有关更多信息,请检查文档Path Customization Laravel after login
答案 1 :(得分:0)
您可以在web.php文件中尝试此操作。
Route::any('/admin/{all}', function () {
if ( ! Auth::user() ){
return redirect('/login');
}
return view('admin'); //SPA app
})
->where(['all' => '.*']);
此外,在Vue路由中,您需要在这样的路径中使用URL /admin
的入口点。这只是移至/admin/dashboard
const routes = [
{
path: "/admin/dashboard",
component: Dashboard,
name: "dashboard",
meta: {
title: "Dashboard",
requiresAuth: true
}
}
];