2016-08-22 13 views
1

私はlaravel 5.0を使用しています。私はauth laravelを使ってログインしたいのですが、ログイン時にユーザー名を入力するだけです(電子メールやパスワードは必要ありません)。そして私はこれらのコードを以下に変更しました。私Userモデルでログイン時にパスワードなしでLaravel Authorizationを変更するにはどうすればよいですか?

public function getLogin(){ 
    if(!Auth::check()) { 
     return view('auth.login'); 
    } 
    else{ 
     return redirect('home'); 
    } 
} 

public function postLogin(){ 

    Auth::attempt([ 
     'USER_NAME' => Input::get('username') 
    ]); 

    return redirect('home'); 
} 

:私のLoginController

<?php namespace App; 
use Illuminate\Auth\Authenticatable; 
use Illuminate\Database\Eloquent\Model; 
use Illuminate\Auth\Passwords\CanResetPassword; 
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; 
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; 
class User extends Model implements AuthenticatableContract, CanResetPasswordContract { 
use Authenticatable, CanResetPassword; 

protected $table = 'MS_USER_ROLE'; 

} 

そして、私はエラーを持っている:

ErrorException in EloquentUserProvider.php line 111: Undefined index: password

は、あなたがこの問題を解決する方法を知っていますか?ユーザー名で認証している場合

+0

あなたはそれを使用する形質を編集する必要があります。 – Daan

+0

「使用する特性」はどういう意味ですか? – hendraspt

+0

何を意味するのかわからない場合は、編集できません。試行方法にパスワードを追加して偽装できませんか? – Daan

答えて

0

Laravel Authenticationためのマニュアルを参照してください。

は、明示的にそれらをログに記録するAuth::login()メソッドを使用します。

public function postLogin() 
{ 
    $user = User::where('USER_NAME', '=', Input::get('username'))->firstOrFail(); 
    Auth::login($user); 

    return redirect('home'); 
} 
+0

私はそれを使用すれば 'Auth :: user() - > CREATED_DATE'を使って私のユーザーテーブルにデータを取得できますか? – hendraspt

+0

はい、 'Auth :: login()'でユーザを設定すると、トラックの下で 'Auth :: user()'を介して同じユーザにアクセスすることができます。 –

+0

どうすれば教えていただけますか?私がエラーを持っているので、 '' @ifための、非オブジェクト 'I成功のログインのプロパティを取得しようとすると(認証::ユーザー() - > ROLE_ID == '1')

  • Menu
  • @エンドフイ。私は自分のユーザーテーブルにROLE_ID列を持っています。 – hendraspt