在laravel 4中使用两个不同的模型和表格用于auth系统?

时间:2014-03-21 23:10:00

标签: laravel-4

我的应用程序有2个Auth系统。有:用户和公司。

有没有办法为不同的型号制作单一的Auth系统,而不使用任何软件包(auth)?

1 个答案:

答案 0 :(得分:14)

我会一步一步告诉你。

  1. 在默认配置laravel4中,请参阅app/config/auth.php,您会看到默认模型是用户。并且您想以公司身份登录。

  2. 尝试登录,如果Auth凭据为false(这表示您的用户表中的用户凭据不可用),请将auth模型更改为公司。

  3. 如果第2步失败,则无法登录。
  4. 代码

    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()

    显示验证详情

    我希望这可以帮到你,谢谢