Skip to content

Commit

Permalink
replace filter with middleware. fix #49
Browse files Browse the repository at this point in the history
  • Loading branch information
Gravitano committed Aug 10, 2015
1 parent ee40c28 commit 5d4979d
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 56 deletions.
20 changes: 0 additions & 20 deletions src/Pingpong/Admin/Filters/AuthFilter.php

This file was deleted.

16 changes: 0 additions & 16 deletions src/Pingpong/Admin/Filters/Filter.php

This file was deleted.

18 changes: 0 additions & 18 deletions src/Pingpong/Admin/Filters/GuestFilter.php

This file was deleted.

47 changes: 47 additions & 0 deletions src/Pingpong/Admin/Middleware/Authenticate.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php

namespace Pingpong\Admin\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;

class Authenticate
{
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;

/**
* Create a new filter instance.
*
* @param Guard $auth
* @return void
*/
public function __construct(Guard $auth)
{
$this->auth = $auth;
}

/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->route('admin.login.index');
}
}

return $next($request);
}
}
24 changes: 24 additions & 0 deletions src/Pingpong/Admin/Middleware/OnlyAdmin.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace Pingpong\Admin\Middleware;

use Closure;

class OnlyAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ( ! $request->user()->is('admin')) {
return redirect()->route('admin.login.index');
}

return $next($request);
}
}
24 changes: 24 additions & 0 deletions src/Pingpong/Admin/Middleware/RedirectIfAuthenticated.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace Pingpong\Admin\Middleware;

use Closure;

class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (auth()->check()) {
return redirect()->route('admin.home');
}

return $next($request);
}
}
7 changes: 5 additions & 2 deletions src/config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
return [
'prefix' => 'admin',
'filter' => [
'auth' => 'admin.auth',
'guest' => 'admin.guest',
'auth' => [
Pingpong\Admin\Middleware\Authenticate::class,
Pingpong\Admin\Middleware\OnlyAdmin::class
],
'guest' => Pingpong\Admin\Middleware\RedirectIfAuthenticated::class,
],
'views' => [
'layout' => 'admin::layouts.master',
Expand Down

0 comments on commit 5d4979d

Please sign in to comment.