私は上書きしましたログインとログアウト機能このように、以下のようにユーザーを認証するためにさらに多くの条件を確認する必要があります。Laravel 5.5重複ログインを制限する
public function login(Request $request)
{
$this->validateLogin($request);
$input=$request->all();
$user=User::where('username',$input['username'])->first();
//If Temp Password is set
if(strlen($user->temp_password)>10)
{
if (Hash::check($input['password'], $user->temp_password))
{
Auth::login($user);
$this->setUserSession($user);
$landing_page=Menu::find($user->landing_page);
return redirect()->route($landing_page->href);
}
else {
session()->put('failure','Invalid Username or Password');
return redirect('/login');
}
}
else{ //If Temp password is not set
if (Hash::check($input['password'], $user->password))
{
Auth::login($user);
$this->setUserSession($user);
$landing_page=Menu::find($user->landing_page);
return redirect()->route($landing_page->href);
}
else {
session()->put('failure','Invalid Username or Password');
return redirect('/login');
}
}
}
ここで、同じユーザーを別の画面または場所で再度ログインから制限する必要があります。私はセッションデータをチェックしましたが、何もユーザーの一意ではありません。
ie。ユーザー名の管理者が米国にログインしている場合、同じユーザー名の管理者は、英国からログインできないようにしてください。
いいえ、私の質問です。ユーザー名管理者が米国にログインしている場合、英国からの同じユーザー名管理者のログインは許されません。 –
問題はそれについてはっきりしていなかった。私の更新をチェックしてください。 – EddyTheDove
セッションデータベースを使用せずに行う必要があります。他の方法はありますか。 –