когда я использую make: auth on command для создания простых страниц авторизации, я могу loggin и зарегистрироваться успешно, но когда я пытаюсь нажать на logout
, я получаю ошибку, я использовал последнюю версию laravel 5.2 и это мой AuthController
:Laravel 5.2 logout() не работает
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Validator;
class AuthController extends Controller
{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
protected function validator(array $data)
{
return Validator::make($data, [
//@formatter:off
'username' => 'required|max:255',
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
//@formatter:on
]);
}
public function getLogout()
{
auth()->logout();
return redirect()->route('/home');
}
protected function create(array $data)
{
return User::create([
//@formatter:off
'username' => $data['username'],
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
//@formatter:on
]);
}
}
я прочитал больше и больше темы, которые имеют эту проблему, но решения не может решить мою проблему, как добавление
Route::get('auth/logout', 'Auth\[email protected]');
на маршрутах или использовать middleware
на constructor
:
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
мою ссылку отключала на раскладке:
<li><a href="{{ url('/auth/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
и я получаю эту ошибку:
NotFoundHttpException in compiled.php line 8912:
полная ошибка стека:
in compiled.php line 8912
at RouteCollection->match(object(Request)) in compiled.php line 8264
at Router->findRoute(object(Request)) in compiled.php line 8212
at Router->dispatchToRoute(object(Request)) in compiled.php line 8207
at Router->dispatch(object(Request)) in compiled.php line 2419
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3286
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9963
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9948
at Pipeline->then(object(Closure)) in compiled.php line 2366
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2350
at Kernel->handle(object(Request)) in index.php line 54
Предполагается, что это: 'Route :: get ('auth/logout', 'Auth \ AuthController @ getLogout');' – felipsmartins
@felipsmartins да, но он не работает, и я получаю ошибку –