【问题标题】:user auth Laravel 5.2用户身份验证 Laravel 5.2
【发布时间】:2016-04-25 07:48:55
【问题描述】:

在我的项目中,我需要保护一些视图。 我创建了一个路由器组:

Route::group(['middleware' => ['auth']], function (){ 

//Spot
  Route::get('administrator/spot-new', 'SpotController@create');
  Route::post('administrator/spot-new', 'SpotController@store');
}

在我的 Spot 控制器中:

public function __construct()
{
    $this->middleware('auth');
}

但是当我尝试访问现场视图时,我看不到登录页面。 我有这个错误: 抱歉,找不到您要查找的页面。

【问题讨论】:

  • 看看这个,也许对你有帮助stackoverflow.com/questions/36567068/…
  • 使用 ['middleware' => ['web','auth']]
  • in 验证中间件 if (Auth::guard($guard)->guest()) { if ($request->ajax() || $request->wantsJson()) { 返回响应(“未经授权。”,401); } else { return redirect()->guest('auth/login'); } }

标签: authentication routes laravel-5.2


【解决方案1】:

Laravel 5.2 添加了中间件组。

https://laravel.com/docs/5.2/middleware#middleware-groups

Web 中间件组负责 Start Session / Encrypt Cookies / Verify CSRF Token 等。见下文

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

在使用会话和任何其他内容时,您需要添加 在那个组里。

所以要解决您的问题,请将“网络”添加到您的中间件

Route::group(['middleware' => ['web', 'auth']], function (){ 
  Route::get('administrator/spot-new', 'SpotController@create');
  Route::post('administrator/spot-new', 'SpotController@store');
}

在你的控制器构造函数中

public function __construct()
{
   //$this->middleware('auth'); (No need for this one)
} 

【讨论】:

    猜你喜欢
    • 2016-04-19
    • 2018-11-22
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2016-04-05
    • 2016-05-14
    相关资源
    最近更新 更多