我已尝试使用以下代码在Laravel 5.2中进行身份验证。但我不知道如何使登录成真。我在if语句之后尝试了Auth::login(true)
但它运行不正常。我找到了一些关于这个主题的文章,但我找不到详细的例子。
public static function Login($email,$password)
{
$fp = fsockopen ( "www.mydomain.com" , 110 );
if (!$fp) {
return "Connection Error";
}
$trash = fgets ( $fp, 128 );
fwrite ( $fp, "USER ".$email."\r\n" );
$trash = fgets ( $fp, 128 );
fwrite ( $fp, "PASS ".$password."\r\n" );
$result = fgets ( $fp, 128 );
if(substr ( $result, 0, 3 ) == '+OK')
return true; //user will be logged in and then redirect
else
return false;
}
如果有可能,请在这里添加一个如何使auth成为真的代码?
P.S。我可以在登录后使用简单查询使用电子邮件检索用户信息。
答案 0 :(得分:0)
如果您知道该用户是谁(IE:已经有$ user实例),您可以直接登录而不使用documentation
中所示的任何防护Auth::login($user);
我会将一个User实例而不是$ email / $ password传递给您的函数
$user = User::whereEmail($email)->first();
$class->login($user);
然后在你的班级
public static function Login(User $user)
{
// ...
if(substr ( $result, 0, 3 ) == '+OK')
Auth::login($user);
return true; //user will be logged in and then redirect
else
return false;
}