1. Go to this page and download the library: Download beebmx/kirby-middleware library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
beebmx / kirby-middleware example snippets
use Beebmx\KirbyMiddleware\Request;
$request = Request::instance();
use Beebmx\KirbyMiddleware\Request;
use Closure;
class ValidateSomeInformation
{
public function handle(Request $request, Closure $next)
{
// Perform action
return $next($request);
}
}
use Beebmx\KirbyMiddleware\Request;
use Closure;
use Kirby\Http\Response;
class UserShouldBeAuthenticated
{
public function handle(Request $request, Closure $next)
{
if(empty($request->user())) {
return Response::redirect('login')
}
return $next($request);
}
}
use Beebmx\KirbyMiddleware\Request;
use Closure;
use Kirby\Exception\ErrorPageException;
class UserShouldBeAuthenticated
{
public function handle(Request $request, Closure $next)
{
if(empty($request->user())) {
return throw new ErrorPageException([
'fallback' => 'Unauthorized',
'httpCode' => 401,
]);
}
return $next($request);
}
}
use Beebmx\KirbyMiddleware\Request;
use Closure;
'beebmx.middleware' => [
'web' => [
function (Request $request, Closure $next) {
// Perform action
return $next($request);
},
],
],
'beebmx.middleware' => [
'enabled' => false,
],
use Kirby\Cms\App as Kirby;
use Beebmx\KirbyMiddleware\Facades\Middleware;
Kirby::plugin('beebmx/kirby-security', [
'hooks' => [
'system.loadPlugins:after' => function () {
Middleware::appendToGroup('security', [
ValidateUser::class,
ValidateUserRole::class,
ValidateUserTeam::class,
]);
},
],
]);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::append(ValidateVisitor::class);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::prepend(ValidateVisitor::class);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::getGlobalMiddleware();
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::appendToGroup('security', [
ValidateUser::class,
ValidateUserRole::class,
ValidateUserTeam::class,
]);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::prependToGroup('security', [
ValidateUser::class,
ValidateUserRole::class,
ValidateUserTeam::class,
]);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::removeFromGroup('security', ValidateVisitor::class);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::addClassToGroup(SecurityMiddlewareGroup::class);
use Beebmx\KirbyMiddleware\Facades\Middleware;
Middleware::getMiddlewareGroups();
use Beebmx\KirbyMiddleware\Middlewares\Authenticate;
Authenticate::redirectUsing('login');
use Beebmx\KirbyMiddleware\MiddlewareGroups\AuthMiddlewareGroup;
AuthMiddlewareGroup::setRoutes([
'dashboard',
'logout',
]);
use Beebmx\KirbyMiddleware\Middlewares\RedirectIfAuthenticated;
RedirectIfAuthenticated::redirectUsing('dashboard');
use Beebmx\KirbyMiddleware\MiddlewareGroups\GuestMiddlewareGroup;
GuestMiddlewareGroup::MiddlewareGroup::setRoutes([
'login',
]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.