【问题标题】:Laravel: Specify Auth::guard() by Middleware?Laravel:通过中间件指定 Auth::guard()?
【发布时间】:2018-02-09 15:48:42
【问题描述】:

在我的应用程序中,我有一个单独的管理员守卫。

我已经创建了一个这样的辅助函数:

function admin_auth()
{
        return \Illuminate\Support\Facades\Auth::guard(config('admin.auth.guard'));
} 

我在我的控制器和刀片文件中使用这种方法,例如:

if (admin_auth()->attempt($credentials, $request->has('remember'))) {
    return $this->sendLoginResponse($request);
}

或者像这样

<p>{{ admin_auth()->user()->email }}</p>

我的管理仪表板中的所有控制器和刀片文件都可以在路由下访问

Route::group(['prefix' => 'admin'], function () {
 //...
}

我的问题是:当且仅当我在路由中调用带有前缀/admin 的控制器或刀片文件时,函数Auth() 是否有可能调用admin_auth()

这样我就可以将代码简化为

<p>{{ Auth::user()->email }}</p>

我在docs 中找不到,但我认为这可能通过中间件实现?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    或者也许您可以在路由中添加一个中间件,这样只有管理员才能访问该页面...?

        Route::group(['middleware' => ['admin'], ['prefix' => 'admin']], function () {
        //
    });
    

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 2021-06-11
      • 2016-07-30
      • 2020-04-22
      • 2016-03-11
      • 2016-06-10
      • 1970-01-01
      • 2020-01-02
      • 2017-07-29
      相关资源
      最近更新 更多