Namespaced models and refactored filters
This commit is contained in:
13
src/Http/Before/AuthBasicFilter.php
Normal file
13
src/Http/Before/AuthBasicFilter.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class AuthBasicFilter
|
||||
{
|
||||
public function filter()
|
||||
{
|
||||
return Auth::basic();
|
||||
}
|
||||
}
|
||||
23
src/Http/Before/AuthFilter.php
Normal file
23
src/Http/Before/AuthFilter.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Route;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
|
||||
class AuthFilter
|
||||
{
|
||||
public function filter(Route $route, Request $request)
|
||||
{
|
||||
if (Auth::guest()) {
|
||||
if ($request->ajax()) {
|
||||
return Response::make('Unauthorized', 401);
|
||||
} else {
|
||||
return Redirect::guest('auth/login');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
src/Http/Before/CsrfFilter.php
Normal file
17
src/Http/Before/CsrfFilter.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use Illuminate\Session\TokenMismatchException;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
class CsrfFilter
|
||||
{
|
||||
public function filter()
|
||||
{
|
||||
if (Session::token() !== Input::get('_token')) {
|
||||
throw new TokenMismatchException();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/Http/Before/GuestFilter.php
Normal file
16
src/Http/Before/GuestFilter.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
|
||||
class GuestFilter
|
||||
{
|
||||
public function filter()
|
||||
{
|
||||
if (Auth::check()) {
|
||||
return Redirect::to('/');
|
||||
}
|
||||
}
|
||||
}
|
||||
24
src/Http/Before/HasSettingFilter.php
Normal file
24
src/Http/Before/HasSettingFilter.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use CachetHQ\Cachet\Models\Setting;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Route;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
|
||||
class HasSettingFilter
|
||||
{
|
||||
public function filter(Route $route, Request $request, $settingName)
|
||||
{
|
||||
try {
|
||||
$setting = Setting::where('name', $settingName)->first();
|
||||
if (!$setting->value) {
|
||||
return Redirect::to('setup');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return Redirect::to('setup');
|
||||
}
|
||||
}
|
||||
}
|
||||
24
src/Http/Before/IsSetupFilter.php
Normal file
24
src/Http/Before/IsSetupFilter.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use CachetHQ\Cachet\Models\Setting;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Route;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
|
||||
class IsSetupFilter
|
||||
{
|
||||
public function filter(Route $route, Request $request)
|
||||
{
|
||||
try {
|
||||
$setting = Setting::where('name', 'app_name')->first();
|
||||
if ($setting->value) {
|
||||
return Redirect::to('/dashboard');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
21
src/Http/Before/LoginThrottlingFilter.php
Normal file
21
src/Http/Before/LoginThrottlingFilter.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Before;
|
||||
|
||||
use GrahamCampbell\Throttle\Facades\Throttle;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Route;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
|
||||
class LoginThrottlingFilter
|
||||
{
|
||||
public function filter(Route $route, Request $request)
|
||||
{
|
||||
// check if we've reached the rate limit, but don't hit the throttle yet
|
||||
// we can hit the throttle later on in the if validation passes
|
||||
if (!Throttle::check($request, 10, 10)) {
|
||||
return Redirect::back()
|
||||
->with('error', 'You have made too many login requests.');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user