【问题标题】:How to configure the routes so that my spa starts in the path /admin?如何配置路线,以便我的水疗中心从路径 /admin 开始?
【发布时间】:2019-10-18 02:47:58
【问题描述】:

我尝试创建一个基本的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的路由

【问题讨论】:

    标签: laravel vue.js vue-router


    【解决方案1】:

    你可以在 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
            }
        }
    ];
    

    【讨论】:

      【解决方案2】:

      如果您要在使用 auth laravel 系统登录后将用户重定向到 /admin 路径,只需转到 App\Http\Controllers\Auth\LoginController 并编辑 $redirectTo 属性,如下所示:

      $redirectTo = '/admin'

      如 laravel 文档中所述:

      当用户成功通过身份验证时,他们 将被重定向到 /home URI。您可以自定义 通过定义redirectTo 进行身份验证后重定向位置 LoginController、RegisterController、ResetPasswordController 和 VerificationController 上的属性。

      更多信息请查看文档Path Customization Laravel after login

      【讨论】:

      • 这已经完成了,从那个重定向,即从那个路由管理员,我希望我的水疗中心将该路由作为 root 和大多数示例中的主路由。
      猜你喜欢
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 2021-04-17
      相关资源
      最近更新 更多