当前位置: 首页 > 知识库问答 >
问题:

如何更改laravel中的用户模型以使用其他表进行身份验证?

颜经艺
2023-03-14

如何更改默认用户模型,以使用其他数据库表,而不是laravel 5.3中的用户表

protected $table = 'my_table_name';

我会做一切,或者我必须改变供应商和所有。

我不希望使用管理员、客户等多重身份验证,我只希望使用一种身份验证模型,但不希望使用“用户”表。

我正在准备一个应用程序,它有多种类型的用户,如管理员,占星家和用户。他们都有不同的属性,所以我不能使用单一的模型和访问控制,所以我决定将应用程序分为3个网站,使用单一的数据库和主机在子域,如

admin.mywebsite.com
astrologer.mywebsite.com
www.mywebsite.com

早些时候,我正在使用Multiauth/hesto插件,但由于一些奇怪的原因,它没有在登录和注册后将我重定向到预期的网址。

共有3个答案

尹俊贤
2023-03-14

转到您的config\auth.php

修改配置

'guards' => [
    'astrologer' =>[
        'driver' => 'session',
        'provider' => 'astrologer',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admin',
    ],
],  

'providers' => [
    'astrologer' => [
        'driver' => 'eloquent',
        'model' => App\Astrologer::class,
    ],
    'admin' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class,
    ],

有关更多详细信息,请参阅此处的答案:有人可以用示例解释Laravel 5.2多身份验证吗

席宜修
2023-03-14

您可以使用模型中的$连接属性指定使用哪个数据库:

class MyModel extends Eloquent
{
    protected $connection = 'another-database-connection';
}

我不确定这是你要找的。也就是说,如果你想为多个子域使用同一个Laravel应用程序,我建议检查留档,它解释了如何在你的路由中使用子域:

https://laravel.com/docs/5.3/routing#route-组子域路由

这将允许您拥有一个用户类和一个应用程序,但对于3个子域中的每一个子域都有特定的路由。

燕鸿文
2023-03-14

在Laravel中使用不同的Auth表检查此项

编辑app/config/auth.php以更改表。

'table' => 'yourTable'
'model' => 'YourModel',

那么你的模型:

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class YourModel extends Eloquent implements UserInterface, RemindableInterface 
{
    use UserTrait;
    use RemindableTrait;

    protected $table = 'your_table';
    protected $fillable = array('UserName', 'Password');    
    public $timestamps = true;
    public static $rules = array();    
}
 类似资料:
  • 问题内容: 但是我仍然不能以计算神的热爱,以不同的用户身份运行。这是我所做的步骤: 下载适用于jenkins的macosx pkg(LTS) 安装插件等和git 尝试建立它 我不断收到无法克隆的错误,因为詹金斯一直以匿名身份开始: 如何设置它,让詹金斯像我一样运行?我正在使用jenkins Web UI,因此它位于localhost:8080 我也尝试使用/ login登录,但是我什至无法使用我的

  • null 我研究了OAuth2隐式授权,但它要求用户在成功验证后批准/拒绝应用程序。它在我的情况下不起作用,因为我同时拥有应用程序和API。 我查看了OAuth2密码授权,它并不完美,因为我需要公开client_id/client_secret。 我关注OAuth2的原因是因为该API最终将是公开的。 忘记OAuth2,在用户发布用户名/密码时手动生成access_token(在本例中,当API公

  • 假设我们有以下部分的web安全配置:

  • 我有一个节点项目 我试过的密码- 运行此命令时,当secret_password错误时,它会正确显示,但当它正确时,它只显示一个单词swagger,表示swagger。io链接。 我搜索了一下,但是没有得到任何关于这个的信息或者例子。我错过了什么吗?

  • 这是服务到服务身份验证中概述的规则的一个例外吗?该规则规定需要设置为接收服务的url(例如https://xxxxx.run.app)。和是一回事吗? 最后,除了使用googlecloudsdk(即imaging不存在)之外,是否还有其他方法使用用户帐户而不是服务帐户进行身份验证?

  • 我必须使用laravelajax将数据保存在具有userid的数据库表中。谁能帮我解决这个问题 我的控制器代码 它得到的反应是 我必须保存登录用户ID提交......我user_id空我怎么存储user_id请帮帮我。 提前谢谢