Laravel 5.3多重认证设置

时间:2017-01-03 09:36:52

标签: php laravel-5 laravel-5.3

我想对两个不同的表使用laravel 5.3身份验证。 如何使用laravel身份验证?

我已经设置了auth.php文件,并添加了警卫, 创建新模型,并迁移必要的文件。

我复制了控制器,并更新了命名空间,并指定了路由。 并且,是的,我能够访问该路线,到那个特定的控制器..

但是,当我注册时,它会转到用户表。 为什么以及如何将其设置为正确的表格? 我以为警卫会做这项工作。

而且, 如果我们使用默认的laravel身份验证,我们无法设置路由? 我的意思是,我能够访问它,并在路由上更改它,但是当寄存器发布时,它会返回到默认路由。 我想知道是否有任何方法可以覆盖它......

非常感谢

4 个答案:

答案 0 :(得分:3)

正确的表是什么意思。你应该在寄存器控制器中编辑你需要的表名 例如: -

$company=  Company::create([
             'companyname' =>($data['companyname']),
             'Address1' =>($data['Address1']),
             'Address2' =>($data['Address2']),
             'telephone' =>($data['telephone']),

        ]);

答案 1 :(得分:1)

我也是新手,但尝试更改Register controller

中的表格
@Autowired

将“用户”替换为您要输入数据的内容..

据我了解auth.php ... 在那里我们使用模型(表)登录..

protected function create(array $data)
{

    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'user_type'=>$data['user_type'],

    ]);

尝试一下...... 对不起,如果我错了..

答案 2 :(得分:1)

  

但是,当我注册时,它会转到用户表。为什么以及如何将其设置为   正确的表?

假设您正在使用自动生成的身份验证控制器,视图和路由。 导航到app/Http/Controllers/Auth/RegisterController.phpusing YourModelName添加到顶部,然后将以下功能更改为您自己的模型。

 protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
  

如果我们使用默认的laravel身份验证,我们无法设置路由?

如果你的意思是在注册后重定向,你也可以在RegisterController

中设置
 /**
 * Where to redirect users after registration.
 *
 * @var string
 */
protected $redirectTo = '/home';

关于Auth路线。它们会自动由/routes/web.php

中的以下行设置
Auth::routes(); 

您可以通过删除此项并将其替换为所需的Auth路线

来更改此设置

答案 3 :(得分:0)

在auth.php中,这是定义它将使用用户模型的位置。你可以改变她的模特

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
],