Rispolvero questo vecchio thread poiché penso che ne avrò bisogno nel pomeriggio. Dovrò tenere Plone in readonly per un paio d'ore. La scorciatoia http://plone.org/documentation/faq/plone-read-only-mode mi garantisce che i dati non vengano modificati, ma l'esperienza utente non é il massimo: modifichi i contenuti ed al salvataggio errore con classica sbrodolata di eccezioni Python.
Forse mi conviene accompagnarla con le rewrite ad una pagina di cortesia: <h1>GO AWAY</h1> :-) -- Sent from iBad https://twitter.com/micmord > Il giorno 07/nov/2012, alle ore 12:08, Massimiliano De Ruosi > <[email protected]> ha scritto: > > Stavo appunto cercando qualche informazione su come mettere in https il login > con i popup (e questa è la domanda alla lista: qualcuno l'ha già fatto?), e > in generale come mettere sotto https plone 4 per gli autenticati, e sono > capitato in questo post. > > Per plone senza popup, mi pare funzionino le stesse regole dai tempi di plone > 2.5, che sono simili alle tue: > > <VirtualHost *:80> > > [...] > > RewriteRule ^($|.*)/login_form$ https://%{SERVER_NAME}$1/login_form [L] > # RewriteRule ^($|.*)/login$ https://%{SERVER_NAME}$1/login [L] > RewriteRule ^/(.*)passwordreset(.*) https://%{SERVER_NAME}/$1passwordreset$2 > [L] > > RewriteCond %{QUERY_STRING} ^came_from=http\%3A//(.*) > RewriteRule ^/(.*)require_login > https://%{SERVER_NAME}/$1require_login\?came_from=https://%1 [L] > > RewriteCond %{HTTP_COOKIE} __ac= > RewriteRule ^(.*) https://%{SERVER_NAME}$1 [NE,L] > > [...] > > # Proxy Rewrite sul balancer > RewriteRule ^/(.*) > http://localhost:9000/VirtualHostBase/http/%{SERVER_NAME}:80/Plone/VirtualHostRoot/$1 > [P,L] > > </VirtualHost> > > ...l'unica differenza sostanziale è che io metto in https anche il template > "passwordreset" > Per quel che riguarda il virualhost sulla 443, io ne uso 2, in due files > distinti, uno in alternativa all'altro: ssl-open e ssl-locked (più un terzo > incluso in entrambi: ssl-common) > > ### ssl-open ### > # questo file contiene un virtualhost che dovrebbe essere attivo IN > ALTERNATIVA a ssl-locked: > # questo virtualhost è quello normalmente attivo in produzione, e permette > l'accesso pubblicatore in https. > > NameVirtualHost *:443 > <VirtualHost *:443> > > Include ssl-common > > # Resto in https nelle pagine dove si immettono le credenziali, anche se non > sono ancora loggato > RewriteRule > ^/(.*)(require_login|login_form|password_form|mail_password_form|mail_password|plone_change_password|passwordreset|pwreset_form)(.*) > \ > > http://localhost:9679/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/$1$2$3 > [P] > # Se non c'è il cookie __ac non sono loggato: torno in http... > RewriteCond %{HTTP_COOKIE} !__ac= > RewriteRule ^(.*) http://%{SERVER_NAME}$1 [NE,L] > > [...] > > # ...resto in https in tutti gli altri casi > RewriteRule ^/(.*) > http://localhost:9679/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/$1 > [L,P] > > </VirtualHost> > ### fine ssl-open ### > > ### ssl-locked ### > # questo file contiene un virtualhost che dovrebbe essere attivo IN > ALTERNATIVA a ssl-open: > # questo virtualhost impedisce all'utente loggato di operare, e lo rimanda ad > una pagina di servizio. > # viene attivato durante gli aggiornamenti di sistema, per impedire che i > pubblicatori facciano modifiche sul > # server secondario utilizzato mentre il server "di produzione" viene > riavviato > > NameVirtualHost *:443 > <VirtualHost *:443> > > Include ssl-common > > # Vado nella pagina di servizio nelle pagine dove si immettono le > credenziali, anche se non sono ancora loggato > RewriteRule > ^/(.*)(require_login|login_form|password_form|mail_password_form|mail_password|plone_change_password|passwordreset|pwreset_form)(.*) > \ > http://%{SERVER_NAME}/pagine-speciali/pubblicazione-sospesa [L] > > # Se c'è il cookie __ac sono loggato: forzo il logout > RewriteCond %{HTTP_COOKIE} __ac= > RewriteRule ^/(.*) > http://localhost:9679/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/logout > [L,P] > > # Se non c'è il cookie __ac non sono loggato: torno in http... > RewriteCond %{HTTP_COOKIE} !__ac= > RewriteRule ^(.*) http://%{SERVER_NAME}$1 [NE,L] > > # ...mando alla pagina di servizio in http in tutti gli altri casi > RewriteRule ^/(.*) http://pagine-speciali/pubblicazione-sospesa [L,P] > > </VirtualHost> > ### fine ssl-locked ### > > ### ssl-common ### > # Questre istruzioni sono comuni ai virtualhost SSL, > # e sono pensate per essere incluse DENTRO il virtualhost > > [...] > > # Resto in https se vengono richieste risorse statiche > RewriteRule ^/(.*)(gif|jpg|css|js)(.*) \ > > http://localhost:9679/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/$1$2$3 > [P] > > ### fine ssl-common ### > > Anche qui, la differenza è che resto in https anche senza cookie __ac in > questi templates: > - require_login > - login_form > - password_form > - mail_password_form > - mail_password > - plone_change_password > - passwordreset > - pwreset_form > > ...e anche in questo caso, si tratta di direttive pensate per plone 2.5: su > plone4 sono ancora valide? Ci sono altri templates da "proteggere" senza > cookie __ac? ...sempre che qualcuno sia arrivato a leggere fin quaggiù :-) > > my 2 cent, > Max > > > Quoting Michele Mordenti <[email protected]>: > >> Plone necessita di una password minima di 5 caratteri: quale migliore >> password di "pippo"? >> Il problema che sto affrontando è che la password viaggia in chiaro: >> come faccio a proteggere la mia superpassword "pippo" da occhi >> indiscreti? >> >> Googlando ho trovato tre guide fare lo switch da HTTP a HTTPS >> - http://plone.org/documentation/kb/apache-ssl/ >> - http://lab.oscert.net/plone/configurare-plone-dietro-apache-e-varnish >> - >> http://dtranhuu.dyndns.org/news/apache2-in-front-of-plone-on-ubuntu-server-9.10 >> ma nessuna delle tre ha funzionato a dovere; in particolare mi ha dato >> diversi grattacapi la parte relativa alla richiesta di una risorsa >> privata. >> Lavorandoci un po' sopra ora tutto sembra filare liscio e mi permetto >> di condividere con voi la soluzione che ho trovato nell'auspicio di: >> - preparare pappa pronta per altri >> - se sbaglio... mi corriggerete >> >> Condizioni al contorno: >> - istanza Plone di debug attiva sulla porta 8088 >> - Plone senza "pop-up semplici" in Pannello di Controllo ->Temi (il >> giochino non funziona con la popup di login) >> - id istanza Plone: "Plone" >> - apache con cartella virtuale "/plonetest" che redirige la root >> dell'istanza "Plone" >> >> Sotto la configurazione apache per HTTP >> >> <VirtualHost *:80> >> ... TUTTO IL RESTO NON PLONESCO ... >> >> <Location /plonetest> >> Deny from All >> Allow from 192.168.1.1/32 >> </Location> >> >> # Rewrite rules >> RewriteEngine On >> RewriteLog /var/log/apache2/plonetest-rewrite.log >> RewriteLogLevel 4 >> >> # Redirigo su HTTPS se chiedo una risorsa Plone ed il cookie >> "__ac" e' settato: >> RewriteCond %{REQUEST_URI} ^/plonetest(.*) >> RewriteCond %{HTTP_COOKIE} __ac= >> RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L] >> >> # Redirigo su HTTPS alla richiesta di login dell'utente: >> RewriteRule ^/plonetest/login(.*)$ >> https://%{SERVER_NAME}/plonetest/login$1 [R,L] >> >> # Redirigo su HTTPS alla richiesta di una risorsa privata plonesca: >> RewriteCond %{REQUEST_URI} ^/plonetest(.*) >> RewriteCond %{QUERY_STRING} came_from=http(.*) >> RewriteRule ^($|/.*)require_login$ >> https://%{SERVER_NAME}$1require_login?came_from=https%1 [NE,L] >> >> # Alla normale richiesta di una pagina servita da Plone 'proxo' l'istanza: >> RewriteRule ^/plonetest(.*)$ >> http://localhost:8088/VirtualHostBase/http/%{SERVER_NAME}:80/Plone/VirtualHostRoot/_vh_plonetest$1 >> [L,P] >> </VirtualHost> >> >> >> Sotto la configurazione apache per HTTPS >> <VirtualHost 192.168.1.2:443> >> ... TUTTO IL RESTO NON PLONESCO ... >> >> <Location /plonetest> >> Deny from All >> Allow from 192.168.1.1/32 >> </Location> >> >> # Rewrite rules >> RewriteEngine On >> RewriteLog /var/log/apache2/ssl_plonetest-rewrite.log >> RewriteLogLevel 4 >> >> # Proxo Plone in HTTPS alla richiesta di autenticazione >> # (previene redirezione su HTTP per regola __ac non ancora impostato): >> # - alla richiesta di login >> # - utente autenticato, forse superflua >> # - tengo l'utente ancora in HTTPS nel caso si volesse >> riautenticare nel form presente nella pagina >> # - alla richiesta risorsa privata >> RewriteCond %{REQUEST_URI} ^/plonetest/login.* [OR] >> RewriteCond %{REQUEST_URI} ^/plonetest/logged_in.* [OR] >> RewriteCond %{REQUEST_URI} ^/plonetest/logged_out.* [OR] >> RewriteCond %{REQUEST_URI} ^/plonetest/(.*)require_login(.*)$ >> RewriteRule ^/plonetest(.*)$ >> http://localhost:8088/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/_vh_plonetest$1 >> [L,P] >> >> # se richiedo pagina "Plone" ed il cookie "__ac" non e' settato >> (utente non autenticato) allora redirigo di HTTP: >> RewriteCond %{REQUEST_URI} ^/plonetest(.*)$ >> RewriteCond %{HTTP_COOKIE} __ac=.deleted. [OR] >> RewriteCond %{HTTP_COOKIE} !__ac= >> RewriteRule ^/(.*)$ http://%{SERVER_NAME}/$1 [R,L] >> >> # Alla normale richiesta di una pagina servita da Plone con >> l'utente autenticato 'proxo' l'istanza: >> RewriteRule ^/plonetest(.*)$ >> http://localhost:8088/VirtualHostBase/https/%{SERVER_NAME}:443/Plone/VirtualHostRoot/_vh_plonetest$1 >> [L,P] >> </VirtualHost> >> >> Si può fare di meglio? >> Grazie, ciao. >> >> -- >> Michele Mordenti >> _______________________________________________ >> Plone-IT mailing list >> [email protected] >> https://lists.plone.org/mailman/listinfo/plone-plone-it >> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html > > > > Massimiliano De Ruosi > --------------------- > AINF (Area servizi informatici e multimediali) > Universita' degli Studi di Udine > Via delle Scienze, 208 > 33100, Udine (UD) ITALY > > Tel. +39 (0)432 55 8893 > Cell. +39 320 4350861 > Fax: +39 (0)432 55 8911 (segr. AINF) > email: [email protected] > > ---------------------------------------------------------------------- > SEMEL (SErvizio di Messaging ELettronico) - AINF, Universita' di Udine > > > _______________________________________________ > Plone-IT mailing list > [email protected] > https://lists.plone.org/mailman/listinfo/plone-plone-it > http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
_______________________________________________ Plone-IT mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-plone-it http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
