යාළුවනේ අපි බලමු laravel වල normal users ල සහ admin ලා හදන්නේ කොහොමද කියලා. මේ සදහා අපි middleware use කරනවා.
මුලින්ම user table එකට admin කියලා field එකක් add කරන්න ඕන admin කියලා
$table->boolean('admin')->default(false);ඊළගට adminMiddleware කියන නමින් Middleware file එකක් හදාගන්න ඕන. ඒක පහල තියෙන විදියට වෙනස් කරන්න ඕන.
namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class adminMiddleware { public function handle($request, Closure $next) { //if (!Auth::guest() && (Auth::user()->admin)==1 ) if (!Auth::guest() && Auth::user()->admin) { return $next($request); } return redirect('/'); } }මේ file එකේ redirect link එක ඕන විදියට වෙනස් කර ගන්න. දැන් තියෙන්නේ අපේ midddleware එක register කරගන්න එක.
ඒ සදහා app\http\Kernel.php file එකේ protected $routeMiddleware block එකට පහල line එක add කරන්න.
protected $routeMiddleware = [ 'isAdmin' => \App\Http\Middleware\adminMiddleware::class, ];දැන් routes.php file එක හදාගන්න තියෙන්නේ. අපි එකට route groups පාවිච්චි කරනවා. එතකොට route group එක ඇතුලේ තියෙන routes වලට access තියෙන්නේ admin ලට විතරයි.
Route::group(['middleware'=> ['isAdmin']], function() { Route::get('access', function () { echo 'you have access'; }); });නැත්නම් වේ විදියටත් පුළුවන්.
group එක ඇතුලේ තියෙන routes වලට access තියෙන්නේ admin ලට විතරයි.
Route::get('access', function () { echo 'you have access'; })->middleware('isAdmin');දැන් access blade එකට යන්න පුළුවන් adminලට විතරයි.
මේ ලිපිය ප්රයෝජනවත් කියලා හිතෙනවනම් මේ ලිපිය Share කරලා යාළුවන්ටත් කියන්න. Comment එකක් දාන්නත් අමතක කරන්න එපා. ජය වේවා..!!
0 comments:
Post a Comment