Önbelleği temizlemek gerekirse:

php artisan config:clear

Migration işlemi için:

php artisan migrate 

Hazır yetkilendirme yapısını kullanmak için:

php artisan make:auth

Bu komut ile /register ve /login sayfalarında hazır altyapılar gelmiş oluyor:

Adım Adım Login sayfası nasıl düzenlenir?
1-Form içerisindeki değerleri name ve value alanlarını veritabanındaki isimler ile aynı yap. Formun metodunu ayarla:

method="post" action="{{ url('admin') }}">{{ csrf_field() }}

routes->web.php içerisinden yönlendirmeyi ayarla:

Route::match(['get','post'],'/admin','AdminController@login');

Yönlendirdiğimiz fonksiyonun içeriği:

class AdminController extends Controller
{
    public function login(Request $request){

        if($request->isMethod('post')){
            $data=$request->input();
            if(Auth::attempt(['email'=>$data['email'],'password'=>$data['password'],'admin'=>'1'])){
                echo "Success"; die;
            }else{
                echo "Failed"; die;
            }
        }
        return view('admin.admin_login');
    }
    
}

Auth sınıfını dahil etmeyi unutmuyoruz:

use Illuminate\Support\Facades\Auth;

Oturum oluşturmak için:

Session::put('adminSession',$data['email']);

Oturumu kontrol edip, yönlendirmek için:

  if(Session::has('adminSession')){
            //Yönetim paneline giriş
            return view('admin.dashboard');
        }else{
            return redirect('/admin')->with('flash_message_error','Lütfen giriş yapınız');
        }

Aynı kontrolü middleware ile yapmak için:

\app\Http\Middleware\RedirectIfAuthenticated.php dosyasını aşağıdaki şekilde düzenliyoruz:

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/home');
        }else{
            return redirect()->action('AdminController@login')->with('flash_message_error','Giriş Yapınız');
        }

        return $next($request);
    }

ve web.php deki yönlendirmeleri grupluyoruz:

Route::group(['middleware'=>['auth']],function(){
    Route::get('/admin/dashboard','AdminController@dashboard');
});

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir