diff --git a/modules/backend/classes/Controller.php b/modules/backend/classes/Controller.php
index a95a068f6..e9a6d8ff7 100644
--- a/modules/backend/classes/Controller.php
+++ b/modules/backend/classes/Controller.php
@@ -3,6 +3,7 @@
use Str;
use Log;
use Lang;
+use View;
use Flash;
use Request;
use Backend;
@@ -145,7 +146,7 @@ class Controller extends Extendable
// Not logged in, redirect to login screen or show ajax error
if (!BackendAuth::check()) {
return Request::ajax()
- ? Response::make('Access Forbidden', '403')
+ ? Response::make(View::make('backend::403'), 403)
: Redirect::guest(Backend::url('backend/auth'));
}
@@ -153,8 +154,12 @@ class Controller extends Extendable
$this->user = BackendAuth::getUser();
// Check his access groups against the page definition
- if ($this->requiredPermissions && !$this->user->hasAnyAccess($this->requiredPermissions))
- return Response::make('Access Forbidden', '403');
+ if ($this->requiredPermissions && !$this->user->hasAnyAccess($this->requiredPermissions)) {
+ if ($this->user->hasAnyAccess(['cms.*']))
+ return Response::make(View::make('backend::403', ['cms_link' => ''.Lang::get('cms::lang.page.access_denied.cms_link').'']), 403);
+
+ return Response::make(View::make('backend::403'), 403);
+ }
}
/*
diff --git a/modules/backend/views/403.php b/modules/backend/views/403.php
new file mode 100644
index 000000000..b22a32d05
--- /dev/null
+++ b/modules/backend/views/403.php
@@ -0,0 +1,16 @@
+
+
+
+
+ = Lang::get('cms::lang.page.access_denied.label') ?>
+
+
+
+
+
+
= Lang::get('cms::lang.page.access_denied.label') ?>
+
= Lang::get('cms::lang.page.access_denied.help') ?>
+
+
+
+
\ No newline at end of file
diff --git a/modules/cms/lang/de/lang.php b/modules/cms/lang/de/lang.php
index 9d5f125f9..a2fc04250 100644
--- a/modules/cms/lang/de/lang.php
+++ b/modules/cms/lang/de/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Seite nicht gefunden",
'help' => "Die angeforderte Seite kann nicht gefunden werden.",
],
+ 'access_denied' => [
+ 'label' => "Zugriff verweigert",
+ 'help' => "Sie haben nicht die erforderlichen Berechtigungen, um diese Seite zu sehen.",
+ 'cms_link' => "Zum CMS-Backend",
+ ],
'custom_error' => [
'label' => "Seitenfehler",
'help' => "Entschuldigung, ein Fehler trat auf, sodass die gewünschte Seite nicht angezeigt werden kann.",
diff --git a/modules/cms/lang/en/lang.php b/modules/cms/lang/en/lang.php
index 87f0070dc..cf72933e6 100644
--- a/modules/cms/lang/en/lang.php
+++ b/modules/cms/lang/en/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Page not found",
'help' => "The requested page cannot be found.",
],
+ 'access_denied' => [
+ 'label' => "Access denied",
+ 'help' => "You don't have the required permissions to view this page.",
+ 'cms_link' => "Go to CMS backend",
+ ],
'custom_error' => [
'label' => "Page error",
'help' => "We're sorry, but something went wrong and the page cannot be displayed.",
diff --git a/modules/cms/lang/ja/lang.php b/modules/cms/lang/ja/lang.php
index 9082fdf6c..1cc818226 100644
--- a/modules/cms/lang/ja/lang.php
+++ b/modules/cms/lang/ja/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "ページが見つかりません。",
'help' => "要求されているページが見つかりません。",
],
+ 'access_denied' => [
+ 'label' => "アクセスが拒否されました",
+ 'help' => "このページを表示するために必要な権限がありません。",
+ 'cms_link' => "CMSのバックエンドに行く",
+ ],
'custom_error' => [
'label' => "ページエラー。",
'help' => "恐れいります。何かが間違っているようで、ページが表示できません。",
diff --git a/modules/cms/lang/nl/lang.php b/modules/cms/lang/nl/lang.php
index 0a59ce1d7..b803c969e 100644
--- a/modules/cms/lang/nl/lang.php
+++ b/modules/cms/lang/nl/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Pagina niet gevonden",
'help' => "De opgevraagde pagina bestaat niet.",
],
+ 'access_denied' => [
+ 'label' => "Toegang geweigerd",
+ 'help' => "Je hebt niet de benodigde rechten om deze pagina te bekijken.",
+ 'cms_link' => "Ga naar CMS backend",
+ ],
'custom_error' => [
'label' => "Paginafout",
'help' => "Onze excuses, er is iets mis gegaan. De opgevraagde pagina kan niet worden getoond.",
diff --git a/modules/cms/lang/pt-br/lang.php b/modules/cms/lang/pt-br/lang.php
index 1c63967db..5dcd24371 100644
--- a/modules/cms/lang/pt-br/lang.php
+++ b/modules/cms/lang/pt-br/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Página não encontrada",
'help' => "A página solicitada não pode ser encontrada.",
],
+ 'access_denied' => [
+ 'label' => "Acesso negado",
+ 'help' => "Você não tem as permissões necessárias para visualizar esta página.",
+ 'cms_link' => "Ir para CMS backend",
+ ],
'custom_error' => [
'label' => "Erro na página",
'help' => "Lamentamos, mas algo deu errado e que a página não pode ser exibida.",
diff --git a/modules/cms/lang/ru/lang.php b/modules/cms/lang/ru/lang.php
index 9949689b6..8b6997104 100644
--- a/modules/cms/lang/ru/lang.php
+++ b/modules/cms/lang/ru/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Страница не найдена",
'help' => "Запрошенная страница не найдена.",
],
+ 'access_denied' => [
+ 'label' => "доступ запрещен",
+ 'help' => "Вы не должны необходимые разрешения для просмотра этой страницы.",
+ 'cms_link' => "К CMS серверной",
+ ],
'custom_error' => [
'label' => "Ошибка на странице",
'help' => "К сожалению, страница не может быть отображена из-за ошибки.",
diff --git a/modules/cms/lang/sv/lang.php b/modules/cms/lang/sv/lang.php
index ccc047f99..045d37d20 100644
--- a/modules/cms/lang/sv/lang.php
+++ b/modules/cms/lang/sv/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Sidan kunde ej hittas",
'help' => "Den begärda sidan kunde ej hittas",
],
+ 'access_denied' => [
+ 'label' => "Nekat tillträde",
+ 'help' => "Du har inte behörighet att visa den här sidan.",
+ 'cms_link' => "Gå till CMS backend",
+ ],
'custom_error' => [
'label' => "Sidfel",
'help' => "Tyvärr kan inte sidan visas",
diff --git a/modules/cms/lang/tr/lang.php b/modules/cms/lang/tr/lang.php
index a0b4eac09..2150a3929 100644
--- a/modules/cms/lang/tr/lang.php
+++ b/modules/cms/lang/tr/lang.php
@@ -27,6 +27,11 @@ return [
'label' => "Sayfa bulunamadı",
'help' => "İstenilen sayfa bulunamadı.",
],
+ 'access_denied' => [
+ 'label' => "Giriş engellendi",
+ 'help' => "Bu sayfayı görüntülemek için gerekli izinlere sahip değilsiniz.",
+ 'cms_link' => "CMS uç git",
+ ],
'custom_error' => [
'label' => "Sayfa hatası",
'help' => "Üzgünüz, bir şeyler ters gitti ve sayfa görüntülenemiyor.",