【发布时间】:2015-06-09 19:00:44
【问题描述】:
我有具有 2 个身份验证系统的应用程序。有:用户和公司。
有没有办法为不同的模型制作一个单一的身份验证系统,而不使用任何包 (auth)?
【问题讨论】:
标签: laravel-4
我有具有 2 个身份验证系统的应用程序。有:用户和公司。
有没有办法为不同的模型制作一个单一的身份验证系统,而不使用任何包 (auth)?
【问题讨论】:
标签: laravel-4
我会一步一步告诉你的。
在默认配置 laravel4 中,请参阅 app/config/auth.php ,您将看到默认模型是用户。并且您想以公司身份登录。
尝试登录,如果 Auth 凭据为 false(这意味着您在 users 表中的用户凭据不可用),请将 auth 模型更改为 Company。
代码是
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() 显示身份验证详细信息
希望对你有帮助,谢谢
【讨论】: