2016-03-28 13 views
3

次のコードをLaravel 5.2で認証しようとしました。しかし、私はログインを真にする方法を知らない。 if文の後にAuth::login(true)を試しましたが、正しく動作しません。私はこのトピックについていくつかの記事を見つけましたが、詳細な例は見つかりませんでした。Laravel 5.2でデータベースなしで認証する方法は?

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

このクールな質問です。独自の[認証プロバイダ](https://laravel.com/docs/5.2/authentication#adding-custom-user-providers)を作成し、このプロバイダの投稿に記載されているロジックを使用する必要があります。 – manix

+0

詳細なコード例が必要だと思います。私はそれを何度も読んだが、それを達成できなかった:( – drxy

+0

私はあなたがLaravelの** HTTP基本認証** https://laravel.com/docs/master/authentication#http-basic-authenticationを使うことができると思います –

答えて

0

ユーザーが誰であるか知っている場合(IE:すでに$のユーザーインスタンスを持っている)、あなたは、単に任意の警備員を使用せずにログインすることができ​​

Auth::login($user); 

に示したように、私が代わりにユーザーインスタンスを渡しますあなたの関数に$メール/ $パスワードの

$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; 
} 
関連する問題