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

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

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.*"

Step3- Move to project directory on git bash

cd devopsschool

Step4- For User Authentication write this command

php artisan make:auth

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 -m

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 UsersTableSeeder

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

php artisan make:seed RolesTableSeeder

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;

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;

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:seed

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 AdminMiddleware

Step21- Make UserMiddleware for User Authentication work

php artisan make:middleware UserMiddleware

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

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

use Auth;

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;

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;

Step27(B)- Define AdminMiddleware in routeMiddleware

'admin' => AdminMiddleware::class,

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

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

use App\Http\Middleware\UserMiddleware;

Step28(B)- Define UserMiddleware in routeMiddleware

'user' => UserMiddleware::class,

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.