Skip to main content

Custom Middleware

1) php artisan make:middleware AuthorMiddleware

2) Go to author middleware and write:

 public function handle($request, Closure $next)
    {
        // YOUR LOGIC TO HANDLE AUTHENTICATION. My Example: 
        $user = $request->user();
        if($user->role_id === 1 || $user->role_id === 2){
            return $next($request);
        }
        return redirect('/');
    }

3) Now we need to register this is kernel.php like this:

'author' => \App\Http\Middleware\AuthorMiddleware::class,

4) Now go to your controller and write:

public function __construct(){
        $this->middleware('author',['only' => ['create','store','edit','update']]);
        $this->middleware('admin',['only' => ['delete','trash','restore','permanentDelete']]);
    }

you can use either only or except. Only will take the listed functions in the [] . and Except will
take every function except [].

Comments

Popular posts from this blog

SQL: sneak peek

show databases; use mysql; show tables; select * from component; describe component; create database sql_intro; show databases; use sql_intro; create table emp_details (Name varchar(25), Age int, gender char(1), doj date, city varchar(15), salary float); describe emp_details; insert into emp_details  values("Jimmy",35,"M","2005-05-30","Chicago",70000), ("Shane",30,"M","1999-06-25","Seattle",55000), ("Marry",28,"F","2009-03-10","Boston",62000), ("Dwayne",37,"M", "2011-07-12","Austin", 57000), ("Sara",32,"F","2017-10-27","New York",72000), ("Ammy",35,"F","2014-12-20","Seattle",80000); select * from emp_details; select distinct city from emp_details; select count(name) as count_name from emp_details; select avg(salary) from emp_details; select name, age...