Php laravel 4.2如何检查是否有用户登录多重身份验证
在Laravel4.2中,我使用multiauth和两个表admin_profile和companyPhp laravel 4.2如何检查是否有用户登录多重身份验证,php,laravel,laravel-4,Php,Laravel,Laravel 4,在Laravel4.2中,我使用multiauth和两个表admin_profile和company public function Login() { $LoginData = Input::except(array('_token')); //return $LoginData; if (Input::get('username')=='' || Input::get('password')=='') { if(!$LoginData['Company
public function Login()
{
$LoginData = Input::except(array('_token'));
//return $LoginData;
if (Input::get('username')=='' || Input::get('password')=='')
{
if(!$LoginData['CompanyURL']=='')
return Redirect::to('')->withInput()->with('Message', 'Enter Username and Password');
else
return Redirect::to('company/'.$LoginData['CompanyURL'])->withInput()->with('Message', 'Enter Username and Password');
}
//Admin User
if($LoginData['CompanyURL']=='')
{
if (Auth::admin()->attempt(array_filter($LoginData)))
{
$UserDetails = User::where('username', Input::get('username'))->first();
if(count($UserDetails)>0)
return Redirect::intended('home');
}
else
return Redirect::to('')->withInput()->with('Message', 'UserName or Password Invalid');
}
else
{
if (Auth::user()->attempt($LoginData))
{
//return $LoginData;
$CompanyModel = User::where('username', Input::get('username'))->first();
return Redirect::intended('company/'.$LoginData['CompanyURL'].'/home');
}
return Redirect::to('company/'.$LoginData['CompanyURL'])->withInput()->with('Message', 'UserName or Password Invalid');
}
}
但我无法检查是否有admin或company类型的用户登录以打开像主页这样需要用户身份验证的页面
如何改变这一点
路由::组(数组('before'=>'auth'),函数()
{
有些路线。。。。
}您必须更改过滤器。请查看示例以了解如何修复过滤器 此外,如果您只想对普通页面使用一个auth筛选器,则有您的解决方案
Route::filter('auth', function()
{
$guest = true;
if (Auth::student()->guest() && Auth::teacher()->guest() && Auth::parent()->guest()){
$guest = false;
}
if(!$guest){
return Redirect::to('login');
}
});
我还建议您定义不同类型的过滤器,这些过滤器对于拥有路由权限的用户非常有用
Route::filter('student', function()
{
if (!Auth::student()->check() ) // Checks the current user
{
return Redirect::to('login');
}
});
Route::filter('teacher', function()
{
if (! Auth::teacher()->check() ) // Checks the current user
{
return Redirect::to('login');
}
});
您使用的是ollieread/multiauth软件包还是其他软件包?是的,我使用的是ollieread/multiauth谢谢您的回复Muharrem Tigdemir