在我的应用程序中,我有一个单独的管理员守卫。
我创建了一个这样的辅助函数:
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>
这样我就可以将代码简化为
<p>{{ Auth::user()->email }}</p>
我在docs中找不到,但我想也许这可以通过中间件来实现?
答案 0 :(得分:0)
或许你可以只在路线中添加一个中间件,这样只有管理员可以访问该页面......?
Route::group(['middleware' => ['admin'], ['prefix' => 'admin']], function () {
//
});