Laravel 8에서 사용자를 금지/일시 중단하는 방법
6183 단어 programminglaraveltutorialphp
인증에서 모든 사용자를 금지하는 일반적인 기능은 Laravel에서 누락되었습니다.
다음은 애플리케이션에서 사용자를 금지한 후의 로그인 양식 Will의 모습입니다.
결과를 달성하기 위한 단계
1단계 - 사용자 테이블에 새 열 '상태' 추가
아래 명령을 실행하여 마이그레이션을 생성합니다.
php artisan make:migration add_status_to_users_table
마이그레이션 파일이 생성된 후 up() 함수에서 다음 코드를 업데이트합니다.
Schema::table('users', function (Blueprint $table) {
$table->integer('status')->default(1);
});
app\Models\User.php의 Fillable에 'status' 추가
protected $fillable = [
'name',
'email',
'password',
'status'
];
2단계 - 미들웨어 생성 - CheckBanned
아래 명령어를 실행하여 미들웨어를 생성합니다.
php artisan make:middleware CheckBanned
app/Http/CheckBanned.php에서 핸들 메소드를 대체하십시오.
public function handle(Request $request, Closure $next)
{
if(auth()->check() && (auth()->user()->status == 0)){
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login')->with('error', 'Your Account is suspended, please contact Admin.');
}
return $next($request);
}
3단계 - 미들웨어 등록 - app/Http/Kernel.php
IN 'web' 미들웨어 그룹에서 아래 코드를 입력하여 CheckBanned 미들웨어를 등록합니다.
\App\Http\Middleware\CheckBanned::class,
4단계 - 로그인 페이지에 오류를 표시합니다.
로그인 블레이드 'resources/views/auth/login.blade.php' 열기
오류 메시지를 표시하려면 다음 코드를 추가하십시오.
@if (session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
출력 결과는 다음과 같습니다.
자세한 설명은 비디오를 볼 수 있습니다
읽어 주셔서 감사합니다.
나에게 연락
Reference
이 문제에 관하여(Laravel 8에서 사용자를 금지/일시 중단하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/shanisingh03/how-to-ban-suspend-users-in-laravel-8-1gh3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
php artisan make:migration add_status_to_users_table
Schema::table('users', function (Blueprint $table) {
$table->integer('status')->default(1);
});
protected $fillable = [
'name',
'email',
'password',
'status'
];
php artisan make:middleware CheckBanned
public function handle(Request $request, Closure $next)
{
if(auth()->check() && (auth()->user()->status == 0)){
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login')->with('error', 'Your Account is suspended, please contact Admin.');
}
return $next($request);
}
\App\Http\Middleware\CheckBanned::class,
@if (session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
자세한 설명은 비디오를 볼 수 있습니다
읽어 주셔서 감사합니다.
나에게 연락
Reference
이 문제에 관하여(Laravel 8에서 사용자를 금지/일시 중단하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shanisingh03/how-to-ban-suspend-users-in-laravel-8-1gh3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)