1 <?php |
1 <?php |
2 |
2 |
3 namespace CorpusParole\Http\Middleware; |
3 namespace CorpusParole\Http\Middleware; |
4 |
4 |
5 use Closure; |
5 use Closure; |
6 use Illuminate\Contracts\Auth\Guard; |
6 use Illuminate\Support\Facades\Auth; |
7 |
7 |
8 class Authenticate |
8 class Authenticate |
9 { |
9 { |
10 /** |
10 /** |
11 * The Guard implementation. |
|
12 * |
|
13 * @var Guard |
|
14 */ |
|
15 protected $auth; |
|
16 |
|
17 /** |
|
18 * Create a new filter instance. |
|
19 * |
|
20 * @param Guard $auth |
|
21 */ |
|
22 public function __construct(Guard $auth) |
|
23 { |
|
24 $this->auth = $auth; |
|
25 } |
|
26 |
|
27 /** |
|
28 * Handle an incoming request. |
11 * Handle an incoming request. |
29 * |
12 * |
30 * @param \Illuminate\Http\Request $request |
13 * @param \Illuminate\Http\Request $request |
31 * @param \Closure $next |
14 * @param \Closure $next |
32 * |
15 * @param string|null $guard |
33 * @return mixed |
16 * @return mixed |
34 */ |
17 */ |
35 public function handle($request, Closure $next) |
18 public function handle($request, Closure $next, $guard = null) |
36 { |
19 { |
37 if ($this->auth->guest()) { |
20 if (Auth::guard($guard)->guest()) { |
38 if ($request->ajax()) { |
21 if ($request->ajax() || $request->wantsJson()) { |
39 return response('Unauthorized.', 401); |
22 return response('Unauthorized.', 401); |
40 } else { |
23 } else { |
41 return redirect()->guest('auth/login'); |
24 return redirect()->guest('login'); |
42 } |
25 } |
43 } |
26 } |
44 |
27 |
45 return $next($request); |
28 return $next($request); |
46 } |
29 } |