59 lines
901 B
PHP
59 lines
901 B
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: marcoglietsch
|
|
* Date: 03.11.17
|
|
* Time: 22:06
|
|
*/
|
|
|
|
namespace App\Http\Middleware\Access;
|
|
|
|
use Closure;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Spatie\Permission\Models\Permission;
|
|
use App\Helpers\AccessHelper as Access;
|
|
|
|
class BaseAccess
|
|
{
|
|
protected function isAuthenticated($request, Closure $next)
|
|
{
|
|
if(Access::isAuthenticated())
|
|
{
|
|
return $next($request);
|
|
}
|
|
else
|
|
{
|
|
abort(401);
|
|
}
|
|
}
|
|
|
|
protected function hasPermission($url, $request, Closure $next)
|
|
{
|
|
if(Access::isAdmin())
|
|
{
|
|
return $next($request);
|
|
}
|
|
|
|
if(Access::hasAnyPermission($url))
|
|
{
|
|
return $next($request);
|
|
}
|
|
|
|
if(Access::hasCreatePermission($url))
|
|
{
|
|
return $next($request);
|
|
}
|
|
|
|
if(Access::hasAnyEditPermission($url))
|
|
{
|
|
return $next($request);
|
|
}
|
|
|
|
if(Access::hasAnyDeletePermission($url))
|
|
{
|
|
return $next($request);
|
|
}
|
|
|
|
abort(401);
|
|
}
|
|
} |