Laravel 4 在laravel 4使用两种不同的模型和表格来验证系统?

Laravel 4 在laravel 4使用两种不同的模型和表格来验证系统?,laravel-4,Laravel 4,我有两个认证系统的应用程序。有:用户和公司 有没有一种方法可以在不使用任何软件包(Auth)的情况下,为不同的型号制作一个单一的Auth系统?我将逐步告诉您 在默认配置laravel4中,请参见app/config/auth.php,您将看到默认模型是用户。你想以公司的身份登录 尝试登录时,如果身份验证凭据为false(这意味着用户表中的用户凭据不可用),请将身份验证模型更改为Company 如果步骤2失败,则无法登录 代码为 if(Auth::attempt($credentials)){

我有两个认证系统的应用程序。有:用户和公司


有没有一种方法可以在不使用任何软件包(Auth)的情况下,为不同的型号制作一个单一的Auth系统?

我将逐步告诉您

  • 在默认配置laravel4中,请参见
    app/config/auth.php
    ,您将看到默认模型是用户。你想以公司的身份登录

  • 尝试登录时,如果身份验证凭据为false(这意味着用户表中的用户凭据不可用),请将身份验证模型更改为Company

  • 如果步骤2失败,则无法登录
  • 代码为

    if(Auth::attempt($credentials)){
        // User is login
    }
    else{
        // trying login as company
    
        // setting auth model to Company
        Config::set('auth.model', 'Company');
        $auth = Auth::createEloquentDriver();
        Auth::setProvider($auth->getProvider());
    
        if(Auth::attempt($credentials)){
            //if sucess
            Session::put('isCompany', true);
        }
        else{
            //login fails
        }
    }
    
    
    //in routes.php
    
    if (Session::has('isCompany')) {
        Config::set('auth.model', 'Company');
    }
    
    通常,您可以使用
    Auth::user()


    我希望这能对你有所帮助,谢谢你一直在四处寻找,我认为这是最好的答案,也是最容易理解的。谢谢