【发布时间】:2015-04-05 17:51:48
【问题描述】:
每次我尝试测试我的 TestLogin 函数时,它都会返回 false,无论我的输入是不正确的[未存储在数据库中]还是正确的[存储在我的数据库中]...
auth.phph 的配置更正 ['model' => 'User'&& 'table' => 'users']
请在此处提供任何帮助:)
公共函数TestLogin() {
$data = Input::All(); //Get Input with POST Request
$UNameOrEmail = $data['UnameOrEmail'];
$password = $data['Password'];
if(filter_var($UNameOrEmail, FILTER_VALIDATE_EMAIL)) { //Check if Input Is Email or else(then consider it as user name)
$validator = Validator::make( //Validation for Email
array(
'email' => $UNameOrEmail,
'password' => $password,
),
array(
'email' => 'required|email|exists:users,email',
'password' => 'required|min:8'
)
);
if ($validator->fails()) { //If Email Validation was wrong return validation message
$messages = $validator->messages();
return $messages;
}
else //else store Email&Password in Array
$user = array(
'email' => $UNameOrEmail,
'password' => Hash::make($password)
);
}
else {
$validator = Validator::make( //Check User Name Validation
array(
'user_name' => $UNameOrEmail,
'password' => $password,
),
array(
'password' => 'required|min:8',
'user_name' => 'required|alpha_dash|between:4,16'
)
);
if ($validator->fails()) { //If User Name Validation was wrong return validation message
$messages = $validator->messages();
return $messages;
} else
$user = array( //else store UserName&Password in Array
'user_name' => $UNameOrEmail,
'password' => Hash::make($password)
);
}
if (Auth::attempt($user)) { //Here's the Error
echo 'Successfully logged in';
}
else
{
echo 'Some thing go wrong'; //In any case it jum here :(
}
}
【问题讨论】:
-
你能展示你的用户模型吗?特别是名为
getAuthIdentifier()和getAuthPassword()的函数? -
受保护的 $table = 'users';公共函数 getAuthIdentifier() { return $this->getKey(); } 公共函数 getAuthPassword() { return $this->password; } 公共函数 getReminderEmail() { return $this->email; }
标签: php authentication laravel controllers