laravel - 在 Laravel 自定义控制台命令中获取身份验证结果
问题描述
我正在制作一个我想安排的控制台命令。我已经编写了我想要的完整代码,但我面临的问题是我编写时在自定义控制台命令中:
Auth::user();
它返回:
无效的
该命令不会在我的应用程序中执行,因为它给出了:
无效的
我明白了,但后来我在我的一个模型中创建了一个静态函数,并将 id 从那里返回到我的控制台命令句柄函数,但它仍然给我Null任何关于如何在我的自定义 laravel 控制台命令中获取 Auth 记录的想法。任何帮助都会很棒。
编辑: 这是我为获取 id 而编写的静态方法。
public static function getAuhtCode(){
$code = Auth::user()->id;
return $code;
}
解决方案
您可以使用loginUsingId
会话保护中的方法手动验证用户身份,这要归功于 id。
/**
* Log the given user ID into the application.
*
* @param mixed $id
* @param bool $remember
* @return \Illuminate\Contracts\Auth\Authenticatable|false
*/
public function loginUsingId($id, $remember = false)
{
if (! is_null($user = $this->provider->retrieveById($id))) {
$this->login($user, $remember);
return $user;
}
return false;
}
例如
Auth::loginUsingId(1);
Auth::user(); //Will work
推荐阅读
- c# - C# SerialPort 写入行为不同的调试与运行时
- python - 如何在 Python 中进行网页抓取?
- python - 有没有办法使 Dash 中的 DashTable 非交互式?
- python - 使用两个 for 循环进行列表理解
- python - Keras - 验证损失和准确性停留在 0
- javascript - Google chrome javascript append 不会添加所有节点
- python-3.x - FileNotFoundError: [Errno2] | Python, using NumPy save and load
- firebase - 在 Dart ERROR 中:输入“列表”
' 不是类型 'Map 的子类型 ' 在与 Firestore 的颤振中 - flutter - 无法在 Flutter 中将变量值从一个无状态 Widget 传递到另一个
- python - 如何使用 SQLAlchemy 将查询结果传递给变量(作为字符串)?