laravel 5.4에서 make : auth 메소드를 사용하고 있습니다. 이제 Register 옵션의 동작을 변경하려고합니다. Admin으로 로그인 한 사용자에 대해서만 등록 옵션을 사용하고 다른 사용자에게는 등록 옵션을 사용하지 않아야합니다. 원래 버전을 사용하면 인증되기 전에 등록 할 수 있습니다. 이 등록 옵션을 사용하여 관리자가 새 사용자를 추가하도록하십시오. home.blade.php에서 페이지를 등록하도록 사용자 인증 및 리디렉션 옵션을 시도했지만 작동하지 않습니다. 내 새 프로젝트에 대한 laravel을 배우고 있습니다. 진행 방법에 대한 전문가 조언. 이 페이지에 액세스 할 수 있습니다 로그인하지 사용자 만 있도록로그인 한 후에 만 등록 페이지 사용 - Laravel 5.4
답변
는 현재 App\Http\Controllers\Auth\RegisterController
public function __construct()
{
$this->middleware('guest');
}
이이 같은 방법 거기에 현재를하고있다. 대신 다음 중 하나의 요구 사항을 충족하도록 변경하십시오.
public function __construct()
{
$this->middleware('auth');
}
위도 : 지금은 로그인해야 액세스 할 수 있습니다. 그러나 관리자가되는 것은 어떻습니까? 의 지금, 그 미들웨어를 만들어 보자 :
php artisan make:middelware AdminMiddleware
은 이제
App\Http\Middleware\AdminMiddleware
에서 파일을 열고 일부 조정을 할 수 있습니다.
참고 여기 코드베이스에 대해 몇 가지 가정을해야합니다.
public function handle($request, Closure $next)
{
if (auth()->check() && auth()->user()->hasRole('admin')) {
return $next($request);
}
return redirect('/');
}
다음으로 애플리케이션 미들웨어를 등록 해 봅시다. App\Http\Kernel.php
을 열고 아래로 스크롤 :
protected $routeMiddleware = [
'admin' => \App\Http\Middleware\AdminMiddleware::class, // <--add this
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
마지막의이 미들웨어를 활용하는 App\Http\Controllers\Auth\RegisterController
로 돌아가서 우리의 construct
기능을 업데이트 할 수 있도록 :
public function __construct()
{
$this->middleware(['auth', 'admin']);
}
이 이제 사용자가 로그인해야합니다, 그리고 또한 역할은 admin
이어야합니다.
이 작업을 수행하는 방법은 분명히 짧지 만,이 방법은 내가 반복하는 것을 돕기 때문에 선호합니다 (DRY 프로그래밍).
use Illuminate\Support\Facades\Auth;
public function handle($request, Closure $next)
{
if (Auth::check() && Auth::user()->is_admin == 1)
{
return $next($request);
}
return redirect('home');
}
App\Http\Middleware\AdminMiddleware
당신이 말한대로 사용자의 'is_admin'라는 이름의 필드가 파일에 다른 변화를 table.And 가지고에
은 정말 helped.changes. 공개 페이지 (http://localhost/larashop/public/)에 로그인 및 등록 두 링크가 모두 표시됩니다. 1. 로그인을 클릭하면 로그인 페이지로 리디렉션됩니다. 여기에 관리자 전자 메일 아이디를 입력합니다. 관리자가 아닌 사용자도 등록 옵션을 표시하지 않습니다. 2. 등록을 클릭하면 로그인 페이지로 리디렉션됩니다. 여기에 admin email id를 입력하면 등록 페이지로 리디렉션되고 비 관리자 사용자의 경우 홈 페이지로 리디렉션됩니다.이 작업은 정상적으로 작동합니다. 로그인 링크가 예상대로 작동하지 않습니다. 제안 사항 :
`
- 1. 사교계 등록 (Laravel 5.4)
- 2. Laravel 5.4 - 등록 후 자동 로그인
- 3. Laravel 5.4 홈 페이지 나 대신
- 4. Laravel 5.2의 사용자 로그인 페이지 활성화/등록
- 5. 장고 등록 로그인 및 한 페이지 등록
- 6. 사용자가 등록 된 후 로그인 페이지로 리디렉션합니다. Laravel 5.4
- 7. Laravel 5.4 편집 로그인 쿼리
- 8. Laravel 5.4 - 등록 후 자동 로그인을 비활성화하십시오.
- 9. laravel 5.4 리소스에 사용 된 패스포트 토큰
- 10. 로그인 성공시 다시 리디렉션 Laravel 5.4
- 11. Laravel-Collective의 로그인 한 사용자 만 표시
- 12. Laravel 5.4 - 로그인 절차를 바꿀 곳
- 13. Laravel 5.4 사용자를 로그인 할 수 없습니다
- 14. 한 페이지 만 혼자서 사용 중지하지 않습니다. (
- 15. 플러그인을로드 한 후에 만 wp_ajax_ 작업 사용
- 16. Laravel, 같은 페이지의 등록 및 로그인. 두 양식의 오류
- 17. 암호화는 Laravel 5.4
- 18. 로그인 페이지 만 한 번만 작성하십시오.
- 19. 로그인 한 사용자 만 페이지 표시
- 20. laravel 5.4 동적으로 페이지 제목을 만드는 방법
- 21. Laravel 5.4 TokenMismatchException (Chrome)
- 22. LARAVEL 5.4 미들웨어의 역할
- 23. 평안한 내가 Laravel 5.2 사용 된 5.4
- 24. pretty urls laravel 5.4
- 25. Laravel 5.4 TokenMismatchException하는
- 26. Laravel 5.4, 사용자가 활성화되지
- 27. Laravel 5.4 및 HTTP_Request2
- 28. View Composer의 로그인 사용자가 작동하지 않음 (Sentinel - Laravel 5.4)
- 29. woocommerce : 별도의 로그인 페이지 및 등록 페이지
- 30. 로그인/등록 API with Laravel 5