Php laravel 5中的多重身份验证尝试()中存在问题
我被代码弄糊涂了Php laravel 5中的多重身份验证尝试()中存在问题,php,laravel-5,Php,Laravel 5,我被代码弄糊涂了 auth::trunt()不适合我,有人能帮我吗 controller.php public function postLogin(Request $request) { .... if (\Auth::attempt('frontendUsers', $userdata)) { return Redirect::back()->with('success',true); } else { return re
auth::trunt()
不适合我,有人能帮我吗
controller.php
public function postLogin(Request $request)
{
....
if (\Auth::attempt('frontendUsers', $userdata)) {
return Redirect::back()->with('success',true);
} else {
return redirect('login');
}
}
view.blade.php
<form name="myForm1" id="loginform" role="form" method="post" action="{{ action('Auth\loginController@postLogin') }}">
<input type="text" placeholder="Card No" name="cardno"/>
<input type="password" placeholder="Password" name="password"/>
<div class="col-lg-6 col-xs-3 clear-both height">
<label class="remember">Remember Me:</label>
<input type="checkbox" class="remember-check"/>
</div>
<div class="login-submit">
<input type="submit" value="Sign in">
</div>
</form>
route.php
Route::get('logout','Auth\loginController@getLogout');
Route::controller('/','Auth\loginController');
Route::controller('/login', 'Auth\loginController');
我的问题是,当我运行代码时,会出现以下错误:
InvalidArgumentException in AuthenticatesUsers.php line 42: Undefined property frontend_users not found in auth.php
my config/auth.php
return [
'multi' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'users'
],
'frontendUsers' => [
'driver' => 'eloquent',
'model' => App\loginModel::class,
'table' => 'frontend_users'
]
],
'password' => [
'email' => 'emails.password',
'table' => 'password_resets',
'expire' => 60,
],
];
同样的代码也适用于另一个项目我看到Laravel 5没有任何像您编写的方法\Auth::trunt('frontendUsers',$userdata)。请在文档laravel站点中再次阅读有关多重身份验证的信息
Auth::guard('frontendUsers')->尝试($userdata)。来自Laravel文档: 尝试方法接受键/值对数组作为其第一个>参数。数组中的值将用于在>数据库表中查找用户
您只需要将作为用户名的属性和作为参数的密码传递给尝试方法您的
config/auth.php
看起来如何?定义模型的部分?您的mode.php真的是类的文件名吗?您的模型文件名应该是loginModel
或更好的loginModel
,并且类应该是loginModel
,而不是loginModel
\Auth::trunt('frontendUsers',$userdata),,,,,当我在另一个项目中应用时,这是有效的。。。。。
return [
'multi' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'users'
],
'frontendUsers' => [
'driver' => 'eloquent',
'model' => App\loginModel::class,
'table' => 'frontend_users'
]
],
'password' => [
'email' => 'emails.password',
'table' => 'password_resets',
'expire' => 60,
],
];