I don't understand. A different dashboard is just a different page. No different when a Doctor's office has a patient portal verses a Doctors portal.
I have one app where the bookkeepers area is different from admin area, just use authentication and authorization.
I don't use middleware for the redirects, just redirect depending on role after logging in. I guess you could do it in middleware, but why.
@hasrole('corpo')
@extends('theme.corporate')
@else
@extends('theme.school')
@endhasrole
Why not have their own pages, all the if's / @cans can become a mess, just my opinion.