我的应用程序有2个Auth系统。有:用户和公司。
有没有办法为不同的型号制作单一的Auth系统,而不使用任何软件包(auth)?
答案 0 :(得分:14)
我会一步一步告诉你。
在默认配置laravel4中,请参阅app/config/auth.php
,您会看到默认模型是用户。并且您想以公司身份登录。
尝试登录,如果Auth凭据为false(这表示您的用户表中的用户凭据不可用),请将auth模型更改为公司。
代码
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()
我希望这可以帮到你,谢谢