Maybe check out the guide for an intro: Permissions | Kirby CMS
Your indentation above is not correct, permissions
should be on the same level as the title.
So
permissions:
access:
panel: false
creates users with no Panel access.
sort of, you can assign different blueprint folders per user role like this:
index.php
<?php
require __DIR__ . '/kirby/bootstrap.php';
$kirby = new Kirby();
$user = $kirby->user();
if ($user && $user->role() == 'candidate') {
$kirby = new Kirby([
'roots' => [
'blueprints' => __DIR__ . '/site/blueprints/candidate',
],
]);
} elseif ($user && $user->role() == 'sponsor') {
$kirby = new Kirby([
'roots' => [
'blueprints' => __DIR__ . '/site/blueprints/sponsor',
],
]);
}
echo $kirby->render();
Note that this procedure produces some overhead as it loads everything twice. Hopefully, we will have a better way to achieve this in the future, but for the moment, that’s probably the only option.
You can prohibit access to the settings page completely:
permissions:
access:
settings: false
But then the user won’t be able to define language, either.
You can add new Panel views, yes: https://getkirby.com/docs/reference/plugins/extensions/panel-views