php - 如何自定义 laravel auth 用户
问题描述
所以我们都知道全局函数 laravelauth()->user()
将返回登录的用户对象。
所以我的问题是,有没有办法覆盖函数返回的模型auth()->user()
?
例如,我有 2 个模型,帐户和用户。我希望 Laravel 在我调用时返回 Account 模型,而不是 User 模型auth()->user()
。
我需要这个的原因是因为在这个系统上使用了太多的代码auth()->user()
,我必须这样做。我要添加的新内容是用户将能够切换多个帐户(未登录用户)并根据帐户显示资源......更像是一个团队。
到目前为止,我已经尝试像这样在 AppServiceProvider.php 上绑定一个新 Gate。
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->bind(\Illuminate\Contracts\Auth\Access\Gate::class, function ($app) {
return new \Illuminate\Auth\Access\Gate($app, function () use ($app) {
return \App\Account::find(111);
});
});
}
但它没有按我的意愿工作。Auth()->user()
仍然返回一个登录的用户对象。
解决方案
推荐阅读
- delphi - 在 delphi firemonkey 和 livebindings 中重新查询后重新选择项目
- php - php foreach 多维数组获取信息
- pdf - 当链接到文档中较早的内容时,为什么我的文档链接不起作用?
- javascript - Vue 自动转义 html 字符
- c# - Mongo C#,在嵌套属性中设置所有数组元素
- c++ - Eigen 版本 3.2.0 和 3.3.4 之间的数值差异
- java - 如何在 Junit 中模拟模板(.ftl 文件)
- javafx - SceneBuilder 和 settings.xml
- ssl - Certbot(300 多项选择)和 Nginx 和 DNS 的身份验证问题
- angular - Angular 6 ng-serve 在重新启动之前不显示动态图像