【问题标题】:Laravel 5.0 logout is redirecting back to homeLaravel 5.0 注销正在重定向回家
【发布时间】:2017-09-02 16:00:06
【问题描述】:

我的 laravel 版本是 5.0.35,我的问题是当我注销时它会重定向回主页。

经过数小时的自我研究和谷歌搜索,我经历了许多解决方案,但都没有奏效。 例如:$this->middleware('guest', ['except' => ['logout', 'getLogout']]);

访客中间件出于某种原因将请求重定向回主页,不知道为什么它会免除注销方法,即使添加它也是如此。 任何人都请帮我解决这个问题。

我的 AuthController 现在

<?php namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AuthController extends Controller {

    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don't you explore it?
    |
    */

    use AuthenticatesAndRegistersUsers;

    /**
     * Create a new authentication controller instance.
     *
     * @param  \Illuminate\Contracts\Auth\Guard  $auth
     * @param  \Illuminate\Contracts\Auth\Registrar  $registrar
     * @return void
     */
    public function __construct(Guard $auth, Registrar $registrar)
    {
        $this->auth = $auth;
        $this->registrar = $registrar;

        $this->middleware('guest', ['except' => 'logout']);
    }

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

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

        return redirect('/');  //****** Change to your desired link.
    }
}

我已将项目升级到 5.1.0 希望能解决问题,但仍然没有用。 请任何人帮忙。

【问题讨论】:

  • 你想做什么?

标签: laravel


【解决方案1】:

修改这个:

<?php 

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;


class AuthController extends Controller {

    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don't you explore it?
    |
    */

    use AuthenticatesAndRegistersUsers;

    /**
     * Create a new authentication controller instance.
     *
     * @param  \Illuminate\Contracts\Auth\Guard  $auth
     * @param  \Illuminate\Contracts\Auth\Registrar  $registrar
     * @return void
     */
    public function __construct(Guard $auth, Registrar $registrar)
    {
        $this->auth = $auth;
        $this->registrar = $registrar;

        $this->middleware('guest', ['except' => ['logout', 'getLogout']]);
    }

    public function getLogout()
    {
        $this->auth->logout();
        return redirect('/mypage'); //**your link
    }
}

【讨论】:

  • 我那里没有 LoginController,这是 5.0.35 版。如果您指的是 AuthController,我已经通过添加这些进行了检查,但没有奏效。
  • 显示你的控制器。
  • 我已经用我的 authcontroller 更新了这个问题,包括你给我的方法。请检查。
  • 修改了答案。立即检查。
  • 做 php artisan cache:clear 和 php artisan config:cache
猜你喜欢
  • 1970-01-01
  • 2018-01-23
  • 1970-01-01
  • 2018-12-17
  • 2023-04-08
  • 2015-10-17
  • 2023-03-10
  • 2016-08-23
  • 1970-01-01
相关资源
最近更新 更多