簡體   English   中英

如何在Laravel 5.2中沒有數據庫進行身份驗證?

[英]How to authenticate without database in 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成為真的代碼?

PS我可以在登錄后使用帶有簡單查詢的電子郵件檢索用戶信息。

如果您知道用戶是誰(IE:已經有$ user實例),您可以直接登錄而不使用任何防護,如文檔中所示

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM