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

ant*_*tra 5 laravel-4

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

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

Arr*_*tra 14

我会一步一步告诉你.

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

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

  3. 如果第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');
}
Run Code Online (Sandbox Code Playgroud)

通常你可以通过使用显示Auth细节 Auth::user()

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