如何在Laravel 5.2中没有数据库进行身份验证?

时间:2016-03-28 18:59:47

标签: php laravel laravel-5 laravel-5.1 laravel-5.2

我已尝试使用以下代码在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。我可以在登录后使用简单查询使用电子邮件检索用户信息。

1 个答案:

答案 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;
}