Die Verwaltung kann umziehen: /admin ist frei waehlbar
php bin/console cms:admin:path <neu> legt die Verwaltung auf eine andere Adresse. Geprueft wird, dass der Name frei ist und keine Seite verdeckt; der Wert steht in .env.local und fuellt einen Parameter, der als Praefix in jeder Verwaltungsroute steht, in der Firewall, in den Schutzkopfzeilen und in der Statistik. Die robots.txt nennt einen geaenderten Namen nicht - sie ist oeffentlich und waere sonst ein Wegweiser. Beim Standardnamen bleibt die Zeile, weil diese Adresse ohnehin jeder kennt. Die Auffangroute fuer Seiten steht jetzt zuletzt: sie kann einen frei gewaehlten Namen nicht per Regex ausschliessen, und die Reihenfolge ist ohnehin die richtige. Der Befehl raeumt den Zwischenspeicher auf, aber nicht den, in dem er selbst laeuft. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9f1ac39251
commit
aaea385422
26 files changed
+293
-45
No files matched your search
@@ -9,7 +9,7 @@ security:
|
||||
ROLE_PUBLISHER: ROLE_EDITOR
|
||||
firewalls:
|
||||
admin:
|
||||
pattern: ^/admin(?:/|$)
|
||||
pattern: ^/%kant.admin_path%(?:/|$)
|
||||
lazy: true
|
||||
provider: cms_users
|
||||
form_login:
|
||||
@@ -25,5 +25,5 @@ security:
|
||||
target: admin_login
|
||||
enable_csrf: true
|
||||
access_control:
|
||||
- { path: ^/admin/login$, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/admin, roles: ROLE_EDITOR }
|
||||
- { path: ^/%kant.admin_path%/login$, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/%kant.admin_path%, roles: ROLE_EDITOR }
|
||||
+9
-1
@@ -1,3 +1,11 @@
|
||||
controllers:
|
||||
# Erst alle benannten Routen, dann die Auffangroute fuer oeffentliche Seiten. Ohne diese
|
||||
# Reihenfolge wuerde `/verwaltung/partials` als Seitenadresse gelesen, sobald die Verwaltung nicht
|
||||
# mehr `/admin` heisst - die Auffangroute schliesst nur den Standardnamen aus.
|
||||
verwaltung:
|
||||
resource: ../src/Controller/
|
||||
type: attribute
|
||||
exclude: '../src/Controller/PageController.php'
|
||||
|
||||
seiten:
|
||||
resource: ../src/Controller/PageController.php
|
||||
type: attribute
|
||||
@@ -1,4 +1,10 @@
|
||||
parameters:
|
||||
# Die Adresse der Verwaltung. Standard bleibt /admin; wer sie aendert, nimmt Scannern und
|
||||
# Anmeldeversuchen das Ziel - erraten laesst sie sich nicht mehr. Sie steht in der Umgebung und
|
||||
# nicht in der Datenbank, weil die Routen beim Start feststehen muessen. Geaendert wird sie
|
||||
# ueber `php bin/console cms:admin:path <neu>`; der Befehl prueft und raeumt den Cache auf.
|
||||
kant.admin_path: '%env(string:default:kant.admin_path_default:ADMIN_PATH)%'
|
||||
kant.admin_path_default: 'admin'
|
||||
# Wo Schriften und Stylesheets liegen. Im Normalfall im oeffentlichen Ordner; ueber
|
||||
# FONT_DIRECTORY und ASSET_DIRECTORY umstellbar - die Tests nutzen das, damit sie nicht in
|
||||
# das Projekt schreiben, und eine Installation mit schreibgeschuetztem public/ ebenfalls.
|
||||
@@ -24,6 +30,13 @@ services:
|
||||
$directory: '%env(resolve:MEDIA_DIRECTORY)%'
|
||||
# Die Schriften liegen im oeffentlichen Ordner: sie sollen vom Webserver direkt ausgeliefert
|
||||
# werden, ohne PHP dazwischen - das ist der Punkt der Uebung.
|
||||
# Die Stellen, die wissen muessen, wie die Verwaltung heisst.
|
||||
App\EventSubscriber\AdminHeadersSubscriber:
|
||||
arguments:
|
||||
$adminPath: '%kant.admin_path%'
|
||||
App\Content\Statistics:
|
||||
arguments:
|
||||
$adminPath: '%kant.admin_path%'
|
||||
App\Content\FontLibrary:
|
||||
arguments:
|
||||
$directory: '%env(default:kant.fonts_dir:FONT_DIRECTORY)%'
|
||||
@@ -37,9 +50,18 @@ services:
|
||||
App\Controller\SeoController:
|
||||
arguments:
|
||||
$siteOrigin: '%env(SITE_ORIGIN)%'
|
||||
$adminPath: '%kant.admin_path%'
|
||||
App\Command\HealthCommand:
|
||||
arguments:
|
||||
$projectDir: '%kernel.project_dir%'
|
||||
App\Controller\SystemController:
|
||||
arguments:
|
||||
$adminPath: '%kant.admin_path%'
|
||||
App\Command\AdminPathCommand:
|
||||
arguments:
|
||||
$projectDir: '%kernel.project_dir%'
|
||||
$adminPath: '%kant.admin_path%'
|
||||
$environment: '%kernel.environment%'
|
||||
App\Ops\Updater:
|
||||
arguments:
|
||||
$root: '%kernel.project_dir%'
|
||||
@@ -50,6 +72,7 @@ services:
|
||||
App\EventSubscriber\MaintenanceSubscriber:
|
||||
arguments:
|
||||
$projectDir: '%kernel.project_dir%'
|
||||
$adminPath: '%kant.admin_path%'
|
||||
App\Ops\Installation:
|
||||
arguments:
|
||||
$root: '%kernel.project_dir%'
|
||||
|
||||
Reference in new issue
Block a user