当前位置: 首页 > 知识库问答 >
问题:

注销重定向到管理仪表板laravel

何修能
2023-03-14

当我尝试从首页注销时,如果我使用的是管理员用户,我会被重定向到管理员仪表板,如果我使用的是普通用户,我会被重定向到用户帐户页面,我只能从管理员仪表板注销,这是我的注销功能:


public function __construct()
    {
        $this->middleware('guest')->except(['logout', 'destroy']);
    }
public function logout(Request $request)
    {   
        $this->guard()->logout();
        $request->session()->invalidate();

        return $this->loggedOut($request) ?: redirect()
            ->route('login')
            ->with('message', 'You have been logged out');
    }

中间件认证


protected function redirectTo($request)
    {
        if (!$request->expectsJson()) {
            return route('login');
        }
    }

中间件重定向


public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            if (Auth::user()->hasRole('administrator')) {
               return redirect()->route('admin.dashboard.index');
            } else {
                return redirect()->route('account');
            }
        }
        return $next($request);
    }

中间件检查角色


public function handle($request, Closure $next, $role = 'administrator')
    {

        if (Auth::check()) {
            if (Auth::user()->hasRole($role)) {
                return $next($request);
            }
            abort('404');
        } else {
            return redirect()->route('admin.auth.login');
        }

        return $next($request);
    }

路线。php


Route::get('login', 'Auth\LoginController@showLoginForm')
                                        ->name('login')
                                        ->middleware('web');
Route::post('login', 'Auth\LoginController@login')
                                        ->name('login')
                                        ->middleware('web');
Route::get('logout', 'Auth\LoginController@logout')
                                        ->name('logout')
                                        ->middleware('auth');

美元这个-

public function logout(Request $request)
    {
        $this->guard()->logout();

        $request->session()->invalidate();

        return $this->loggedOut($request) ?: redirect('/');
    }

    /**
     * The user has logged out of the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function loggedOut(Request $request)
    {
        //
    }


共有1个答案

邢灿
2023-03-14

我发现问题出在我的帐户路径上,中间件存在web,所以我无法注销。我已经添加到所有routes web中间件,现在正在工作。:)

 类似资料:
  • 在本章中,我们将研究Grav中的Administrative Panel Dashboard 。 仪表板充当Grav管理面板插件的信息神经中枢。 您可以检查traffic statistics , create new backups , Grav updates , maintenance information ,查看最新页面更新,还可以借助此单页清除Grav缓存。 Step 1 - 您可以指

  • 这是春虫吗?由于logout-success-url已设置且不安全,因此在到达logout-success-url后,似乎不应将用户重定向到无效的会话url。 日志如下所示:

  • 我刚刚安装了XAMPP-Win32-5.5.30,在xampp控制面板中,Apache和mysql都启动了,没有任何错误,但我发现: 1)浏览器中的localhost重定向到另一个页面localhost/dashboard/而不是xampp起始页。

  • 问题内容: 如何在“保存”上将用户重定向到其他应用? 我有两个应用,分别说和。如果用户单击“保存在” ,则应将其重定向到默认页面,而不是默认页面。 我不想做一个定制表格。 问题答案: 要在保存到管理员后更改重定向目标,你需要在类中重写(用于添加新实例)和(用于更改现有实例)。 请参阅中的原始代码。 而且,如果你希望人们在StackOverflow上继续为你提供帮助,则需要接受问题的答案。 快速示例

  • 我想为管理员仪表板创建一个登录表单。我已经创建了相关的控制器和刀片,但当我尝试登录到管理仪表板时,EloquentUserProvider出现错误。我只想要一个管理员的登录表单,而不是用户。 错误: 雄辩的提供程序中的致命错误。php第114行:类型错误:传递给Illumb\Auth\EloquentUserProvider::validateCredentials()的参数1必须是Illumb\

  • 我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l