当用户登录未按预期工作时我的身份验证尝试。在尝试验证时,它将始终返回其他部分
public function tunneluserAuth(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required',
]);
$password=Hash::make($request->input('password'));
if (Auth::attempt(array('userLogin' => $request->input('email'),
'userPassword' => $password))) {
echo "hi";exit;
}
else {
echo "here";exit;
}
}
和我的auth.php页面就像,
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Entity\User::class,
],
'companyUsers' => [
'driver' => 'database',
'table' => 'companyUsers',
],
],
但它总是会返回其他条件。为什么?
答案 0 :(得分:1)
尝试使用auth凭证密钥作为电子邮件和密码,而不是userLogin和userPassword。
public function tunneluserAuth(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required',
]);
if (Auth::attempt(['email' => $request->input('email'),
'password' => $request->input('password')])) {
echo "hi";exit;
}
else {
echo "here";exit;
}
}
如果您仍想使用自己的凭据密钥,请使用此 -
$userData = User::where('userLogin',$request->input('email'))->first();
Auth::loginUsingId($userData->id);
希望这对你有用。
答案 1 :(得分:0)
试试这个代码段:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
/**
* Handle an authentication attempt.
*
* @return Response
*/
public function authenticate()
{
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->intended('dashboard');
}
}
}`