This change is to make the MultiAuth system compatible with Laravel default Authentication process and to behave identical as "web guard" or "User Model".
Actually there is a little problem if we use
public function handle($request, Closure $next, $guard = 'student')
{
if (!Auth::guard($guard)->check()) {
return redirect('student\login');
}
return $next($request);
}
in this method redirect()->guest() play a role to set Intended Url $this->setIntendedUrl($intended); .
So, for your newly created guardi.e. "student"if you not go through $this->setIntendedUrl($intended); in "unauthenticated" situation then after authentication rather than redirect to "student dashboard" it will redirect to previously set Indented Url.
To understand this you can check it. Do the following....
Two guards - User(web/default) and student
in logout condition
first visit domain.test/home [ user home page, don't login]
then visit domain.test/student [student dashboard and do login in student]
after student successful login it will redirect to domain.test/login instead of domain.test/student.
This change has no direct impact on usability, it just modify the internal mechanism of authentication via middleware.
This change is to make the MultiAuth system compatible with Laravel default Authentication process and to behave identical as "web guard" or "User Model".
Actually there is a little problem if we use
as it is not go through the following method in
in this method
redirect()->guest()
play a role to set Intended Url$this->setIntendedUrl($intended);
.So, for your newly created guard
i.e. "student"
if you not go through $this->setIntendedUrl($intended); in "unauthenticated" situation then after authentication rather than redirect to "student dashboard" it will redirect to previously set Indented Url.To understand this you can check it. Do the following....
This change has no direct impact on usability, it just modify the internal mechanism of authentication via middleware.