除非页面需要身份验证,否则注销后如何重定向回去?

时间:2018-10-28 02:49:54

标签: laravel vue.js

我已经熟悉Redirect :: back(); Laravel的命令我在最初的搜索中看到了这一点,但是我想知道如何在Redirect :: back();之后重定向到经过身份验证的页面在它上工作。

这是AuthController的注销

public function logout()
{
    $accessToken = auth()->user()->token();

    $refreshToken = DB::table('oauth_refresh_tokens')
    ->where('access_token_id', $accessToken->id)
    ->update([
        'revoked' => true
    ]);

    $accessToken->revoke();

    // REDIRECTS USERS BACK TO THE PAGE THEY LOGGED OUT OF
    Redirect::back();
    return response()->json(['status' => 200]);
}

我已经设置了要重新路由的路线

{
    path: '/dashboard',
    component: require('./../views/dashboard.vue'),
    meta: {
        middlewareAuth: true
    }
}

以及

router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.middlewareAuth)) {
    if (!auth.check()) {
        next({
            path: '/login',
            query: {
                redirect: to.fullPath
            }
        });
        return;
    }
}
next();
})

当用户单击它并正在工作时将其重定向。

我想举一个例子如下

主页->注销->主页[WORKS]
仪表板->注销->主页[不工作] 重定向回仪表板。

1 个答案:

答案 0 :(得分:0)

如果您来自仪表板,那么重定向回应该试图将您发送回仪表板,这听起来像是在做。如果您希望它转到主页,则可以指定重定向到主页。