构造函数的经过身份验证的用户

时间:2016-12-29 12:23:23

标签: laravel-5.3

经过研究并观察docs和其他链接后,我完全理解为什么不能以旧的方式完成#34;但我真的需要一个解决方法/解决方案这样:

我有一个基类,它没有直接在请求上调用(未在路由上声明):

class AdminPanelController extends Controller
{
    protected $_authUser;

    public function __construct() {
        $this->middleware(function ($request, $next) {
             $this->_authUser = Auth::guard('admin')->user();
             dd($this->_authUser); // ok
             return $next($request);
        });
    }
    ...
    protected function yoo() {
        dd($this->_authUser); // auth user is null, but i need this here
    }
}

我需要在yoo()方法上提供经过身份验证的用户。控制器直接调用:

Route::get('users', 'UsersController@hey');

UsersController:

class UsersController extends AdminPanelController 
{

    protected params;

    public function __construct(Request $request) {
        parent::__construct();
        $this->params = $this->yoo(); // auth user is null, but i need this here
    }
    ...
}

请注意,如果我在另一个地方调用方法$this->yoo()而不是构造函数,那么用户就可以使用

注意:我也尝试了$request->user()Authentication user provider [] is not defined.),但由于我有一个多功能身份验证系统,我必须提供一名警卫并尝试$ request->警卫(' admin&#39 ;) - > user(),结果为Method guard does not exist.

0 个答案:

没有答案