යාළුවනේ අපි බලමු 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