Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours scrolling social media and waste money on things we forget, but won’t spend 30 minutes a day earning certifications that can change our lives.
Master in DevOps, SRE, DevSecOps & MLOps by DevOpsSchool!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

How to Create Multiple Role Based Authentication and Access Control in Laravel Application

Step1- Open command prompt or Git Bash on xampp/htdocs directory

Step2- Create Laravel New Project write this command

composer create-project --prefer-dist laravel/laravel devopsschool "5.8.*"Code language: JavaScript (javascript)

Step3- Move to project directory on git bash

cd devopsschool

Step4- For User Authentication write this command

php artisan make:authCode language: CSS (css)

Step5- customize users table(database/migration/2014_10_12_000000_create_users_table.php)

Add Some columns in users table.

Step6- Create Model and Migration for Role Table

php artisan make:model Role -mCode language: CSS (css)

Step7- customize roles table(database/migration/2020_06_10_060108_create_roles_table)

Add Some columns in roles table.

Step8- Make Relationship between users and roles tables through Role Model and User Model.

Step8(A)- In Role Model Create users() function for relationship.

Step8(B)- In User Model Create roles() function for relationship.

Step9- Create UsersTableSeeder file for insert data in users table through migration.

php artisan make:seed UsersTableSeederCode language: CSS (css)

Step10- Create RolesTableSeeder file for insert data in users table through migration.

php artisan make:seed RolesTableSeederCode language: CSS (css)

Step11- Add Insert function in RolesTableSeeder.php(database/seeds/RolesTableSeeder.php) file for Insert data in roles table.

Step11(A)- use DB file in RolesTableSeeder.php

use Illuminate\Support\Facades\DB;Code language: PHP (php)

Step11(B)- Add Insert Function in run() function of RolesTableSeeder.php.

Step12– Add Insert function in UsersTableSeeder.php(database/seeds/UsersTableSeeder.php) file for Insert data in users table.

Step12(A) – use DB file in UsersTableSeeder.php

use Illuminate\Support\Facades\DB;Code language: PHP (php)

Step12(B)- Add Insert Function in run function of UsersTableSeeder.php.

Step13- Create Database in Mysql Server

Step14- Set Mysql Server Username ,Password and Database Name in .env file

Step15- Migration of Tables in Database

php artisan migration

Step16- Define UsersTableSeeder and RolesTableSeeder Class on DatabaseSeeder.php file(database/seeds/DatabaseSeeder.php)

Step17- Insert data in tables

php artisan db:seedCode language: CSS (css)

Step18- Create DashboardController for Admin Dashboard work.

php artisan make:controller Admin/DashboardController

Step19- Create DashboardController for User Dashboard work.

php artisan make:controller User/DashboardController

Step20- Make AdminMiddleware for Admin Authentication work

php artisan make:middleware AdminMiddlewareCode language: CSS (css)

Step21- Make UserMiddleware for User Authentication work

php artisan make:middleware UserMiddlewareCode language: CSS (css)

Step22- Implement condition for Admin login in AdminMiddleware(app/Http/AdminMiddleware.php)

Step22(A) – Use Auth class for Authentication in AdminMiddleware.php

use Auth;Code language: PHP (php)

Step22(B)- Implement Condition in handle() function of AdminMiddleware.php

Step23- Implement condition for User login in UserMiddleware(app/Http/UserMiddleware.php)

Step23(A)- Use Auth class for Authentication in UserMiddleware.php

use Auth;Code language: PHP (php)

Step23(B)- Implement Condition in handle() function of UserMiddleware.php

Step24- Implement Condition for Admin and User Login in RedirectIfAuthenticated(app/Http/Middleware/RedirectIfAuthenticated.php)

Step25- Implement Condition Login in LoginController(app/Http/Controllers/Auth/LoginController.php)

Step25(A)- remove = ‘/home’ from protected $redirectTo = ‘/home’;

Step25(B)- Implement Condition in __construct() function

Step26- Implement Condition Login in ResetPasswordController(app/Http/Controllers/Auth/ResetPasswordController.php)

Step26(A)- remove = ‘/home’ from protected $redirectTo = ‘/home’;

Step26(B)- Implement Condition in __construct() function

Step27- Define AdminMiddleware in routeMiddleware(app/Http/Kernel.php)

Step27(A)- use AdminMiddleware in Kernel.php File

use App\Http\Middleware\AdminMiddleware;Code language: PHP (php)

Step27(B)- Define AdminMiddleware in routeMiddleware

'admin' => AdminMiddleware::class,Code language: PHP (php)

Step28- Define UserMiddleware in routeMiddleware(app/Http/Kernel.php)

Step28(A)- use UserMiddleware in Kernel.php File

use App\Http\Middleware\UserMiddleware;Code language: PHP (php)

Step28(B)- Define UserMiddleware in routeMiddleware

'user' => UserMiddleware::class,Code language: PHP (php)

Step29- Set Middleware and Route in web.php (route/web.php)

Step29(A)- Set Admin Middleware and Route

Step29(B)- Set User Middleware and Route

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.