0
私のlaravelアプリケーションで、php artisan make:authを実行し、すべてのファイルが認証作業を行うために作成されました。Laravel 5.2ログインが維持されない
マイAuthController.phpコード:
/**
* Where to redirect users after login/registration.
*
* @var string
*/
protected $redirectTo = '/';
protected $loginPath = '/login';
protected $username = 'username';
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'username' => 'required|max:255|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'username' => $data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'hash-confirm' => md5($data['username']+Carbon::now()->resetToStringFormat()),
]);
}
}
マイUser.php:
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'username', 'email', 'password', 'hash-confirm',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
私のroutes.php:
Route::auth();
Route::get('/', '[email protected]');
Route::get('create', '[email protected]');
事は、私は、ユーザー名を置けばということですパスワードが間違っていると教えてくれるのですが、それが間違っていると私にリダイレクトされますが、ログイン後にページに行くとAuth :: guest()がtrueで、Auth :: user()がnullなので、セッションは作成されません。 私はlaravelの最新バージョンを使用しているので、ミドルウェアの "web"グループをルートに置く必要はありません。
ありがとうございました。同じ問題がにユーザテーブルの「ID」フィールドを変更した人のために
ログインすると、 "return \ Auth :: user();"あなたのインデックスメソッド(ホームコントローラ)の戻り値? –
実際にログインしたユーザーを返します。 '$ lang = substr(Request :: server( 'HTTP_ACCEPT_LANGUAGE')、0,2); App :: setLocale($ lang); これはインデックスメソッドに含まれるものです。そしてこれを実行した後、それはもはやログインしていません。 – markerstone
上記のコードで何をしようとしていますか? –