我刚刚使用访客中间件创建了一个简单的登录,允许用户一次访问一个帐户,但我只是担心这是否是正确的方法。
/** Routes **/
Route::group(['middleware' => 'guest'], function () {
Route::get('/', 'LoginController@index')->name('login');
Route::post('/', 'LoginController@post')->name('login.post');
});
/** login.post controller **/
public function post(Request $request){
$this->rules($request);
$rules = array(
'username' => $request->username,
'password' => $request->password,
);
if(Auth::attempt($rules)) {
if(Auth::user()->is_active == true){
/** IF THE USER IS CURRECTLY LOGIN **/
if(Auth::user()->is_login == true){
Auth::logout();
Session::flash('multilog', 'Your account is log-in to another device!!');
return redirect('/')->withInput();
}
$user = user::find(Auth::user()->id);
$user->is_login = true;
$user->save();
return redirect('admin/home');
}
Session::flash('unactivated', 'Your account is not activated!!');
return redirect('/')->withInput();
}
Session::flash('unmatch', 'Invalid username or password!!');
return redirect('/')->withInput();
}
/ ** ** /
答案 0 :(得分:0)
如果您不确定,可以使用Laravel创建身份验证。在命令行中写:
php artisan make:auth
然后看看逻辑如何在文件中工作。 更多你可以在这里阅读: https://laravel.com/docs/5.5/authentication