相关疑难解决方法(0)

无法在控制器的构造函数上调用Auth :: user()

我正在尝试检查用户是否拥有某个型号的权限.到目前为止(使用Laravel 5.2),我在构造函数中添加了以下代码:

public function __construct()
{
    if (!Auth::user()->hasPermission('usergroups')) {
        abort(404);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,在升级到Laravel 5.3之后,从控制器的构造函数调用时Auth::user()返回null.如果我在类的任何其他方法中调用它,它将返回当前登录的用户.

任何想法为什么?

laravel laravel-5.3

10
推荐指数
2
解决办法
6261
查看次数

Laravel 5:如何通过构造函数添加 Auth::user()->id ?

我可以像这样获取经过身份验证的用户的 ID:

Auth::user()->id = $id;
Run Code Online (Sandbox Code Playgroud)

太好了,它有效,......但我有很多方法需要它,我想要一种更简洁的方式将它作为一个整体添加到类中,所以我可以在每个方法中引用 $id 。我正在考虑将它放入构造函数中,但由于 Auth::user 是静态的,我把事情弄得一团糟,不知道该怎么做。

非常感谢您的帮助 !

authentication constructor laravel

6
推荐指数
2
解决办法
7671
查看次数