Merhaba arkadaÅŸlar bu yazımda sizlere laravel’de nasıl sadece kullanıcılara özel rotasyon tanımlıyor isek aynı iÅŸlemi kullanıcıları gruplara bölerek yapa bileceÄŸinizi anlatacağım bunun için users tablomuzun içinde grup adında bir sütün olduÄŸunu var sayıyorum ve buradaki deÄŸer 1 ise bunu kullanıcının admin olduÄŸunu var sayacağız ve bu deÄŸere sahip olan kullanıcılara özel rotasyonlar vereceÄŸiz.
Bildiğiniz gibi sadece kullanıcılara şu şekilde rotasyon vere biliyoruz ;
Route::group(['middleware' => 'auth'], function () { // rotasyonlar });
laravel 4 de middleware olayı olmadığı için biraz daha basit gibi görünen bir yol ile bu olayı yapa biliyorduk lakin aslında laravel 5 de olay biraz daha basite indirgenmiş ve middleware olayı gelmiştir.
Yani kısacası admin için bir middleware oluşturmamız gerekiyor bunu artisan üzeri yapa bilirsiniz.
Örnek vermek gerekir ise ;
php artisan make:middleware AdminMiddleware
ÅŸeklinde AdminMiddleware mizi oluÅŸtura biliriz App\Http\Middleware içinde oluÅŸturduÄŸumuz middleware’ı göre bilirsiniz neyse konumuza dönecek olursak oluÅŸturduÄŸumuz AdminMiddleware dosyamızı açalım
handle kısmına gelip o kısmı şu şekilde değiştirin.
public function handle($request, Closure $next){ if ($request->user()->grup != 1){ return redirect('/'); // eğer ki grup değeri 1 değilse kullanıcının ana sayfaya yönlendiriyoruz } return $next($request); }
midleware’mizi oluÅŸturduk ÅŸimdi rotasyonda kullanıma gelecek olursak ;
Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'], function(){ Route::get('admin', function(){ return "Buraya sadece admin gire bilir "; }); });
üstteki şekilde kullana bilirsiniz burada belirttiğiniz admin değerine sadece kullanıcının grup değeri 1 ise gire bilir onun dışındaki kişiler middleware içinde belirttiğimiz kurala göre hareket eder biz yönlenmesini istemiştik yönlenecektir eğer ki grup değeri 1 ise bu alandaki rotasyonları kullana bilecektir.
tüm işlem bu kadar arkadaşlar iyi kod yazmalar : )