FEATURE #2047: use laravel's authorization
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\User;
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
@@ -18,13 +19,26 @@ class Authenticate
|
||||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
{
|
||||
if (!Auth::guard($guard)->check()) {
|
||||
if (!Auth::guard($guard)
|
||||
->check() || Auth::user()->status != User::STATE_ACTIVE || Auth::user()->role == User::ROLE_VISITOR) {
|
||||
Auth::logout();
|
||||
|
||||
if ($request->ajax()) {
|
||||
return response('Unauthorized.', 401);
|
||||
}
|
||||
|
||||
// select right message
|
||||
if (Auth::user() && Auth::user()->status != User::STATE_ACTIVE) {
|
||||
$message = 'auth.userNotActive';
|
||||
} elseif (Auth::user() && Auth::user()->role == User::ROLE_VISITOR) {
|
||||
$message = 'auth.visitorInAdmin';
|
||||
} else {
|
||||
$message = 'auth.loginExpired';
|
||||
}
|
||||
|
||||
return redirect()
|
||||
->route('login')
|
||||
->with('warning', trans($message))
|
||||
->with('redirectTo', $request->fullUrl());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user