Plone: IP-basierter Zugang
Nginx config
Damit wir auf Plone Seite die Externen Absender-IP-Adressen sehen können, müssen wir dem vorgeschalteten Webserver z.B. Nginx mitteilen, dass er entsprechende HTTP-Header setzt.
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host;
Zope config Parameter
Da Plone nicht blind jedem Header trauen kann, müssen vertrauenswürdige Proxies in der zope.conf konfiguriert werden. Hierfür fügen wir in unsere Buildout-Konfiguration folgenden Eintrag ein:
zope-conf-additional = trusted-proxy 127.0.0.1 trusted-proxy loadbalancer.lan
AutoRole Konfiguration
Wir installieren das Paket Products.AutoRole und konfigurieren es unter /acl_users/auto_role > Properties wie folgt:
Einzelne IP konfigurieren
192.168.0.100:Authenticated,Member
Greift nur für eine IP Adresse, hier 192.168.1.100. Da wir hier keine Bitmaske angegeben aben, gilt der Default von /32 was exakt eine IP-Adresse zulässt.
IP-Bereich konfigurieren
192.168.0.0/16:Authenticated,Member
Greift für alle IP's die mit 192.168. beginnen, also z.B. 192.168.1.100 oder auch 192.168.56.1. Alternativ könnte man hier mit 192.168.0.0/24 auch nur Adressen von 192.168.0.1 bis 192.168.0.255 zulassen.
Zu Beachten
Das AutoRole Plugin funktioniert zur Zeit nicht mit Products.PluggableAuthService Versionen > 1.8.0! Daher muss dieses in der Buildout-Konfiguration auf 1.8.0 gepinned werden.