Ho un'app Grails che utilizza Spring Security Core in esecuzione su una macchina AWS dietro un bilanciatore del carico.Grails Spring Security reindirizza alla pagina di accesso utilizzando https
Il servizio di bilanciamento del carico decodifica le connessioni ssl e inoltra alla porta 8080 della nostra istanza aggiungendo intestazioni X-Forwarded-Proto appropriate.
Desidero che qualsiasi accesso diretto a una pagina protetta venga reindirizzato alla pagina di accesso utilizzando https.
Per esempio una richiesta https://myapp.com/private/page dovrebbe reindirizzare a https://myapp.com/login/auth
ho messo nel mio config.groovy:
grails.plugin.springsecurity.secureChannel.definition = [
'/login/**': 'REQUIRES_SECURE_CHANNEL'
]
ma questo provoca un loop di reindirizzamento (codice HTTP 302) alla pagina http login (http://myapp.com/login/auth)
poi ho provato solo con:
grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
grails.plugin.springsecurity.auth.forceHttps = true
ma questo provoca un redirect (codice HTTP 302) alla pagina http login (http://myapp.com/login/auth)
- Il problema è presentig solo con la messa a punto di produzione (la guerra schierato al Tomcat dietro il bilanciamento del carico).
- Se provo lo stesso config.groovy sulla mia macchina Loacal Dev, il reindirizzamento a https://myapp.com/login/auth avviene correttamente.
- ho cercato di specificare un httpsport diverso per la sicurezza primavera, ancora una volta funziona sulla mia macchina dev locale, ma è completamente ignorato in app schierato che continua il reindirizzamento a http
Nessuna fortuna agguato ai posti simili, qualsiasi idea?
Grazie mille per il vostro aiuto ma senza fortuna! Ho riprodotto la stessa configurazione, spostato anche la porta interna a 80 ma reindirizza sempre a http ... Hai qualcosa in grails.plugin.springsecurity.secureChannel.definition? Qualche idea su come posso almeno debuggarlo? – Paull
Non ho un valore impostato per secureChannel.definition. Hai impostato grails.serverURL per il tuo ambiente di produzione? È un'altra cosa che ha infranto la mia app, ma penso che fosse correlata alla creazione di cloudfront. Non ho eseguito il debug con i registri. Vorrei fare una modifica nel file di configurazione e caricare una nuova guerra, quindi passare attraverso ogni scenario utilizzando un browser per vedere cosa si è rotto. Poi farei una modifica e riprovo. – spock99
Quale versione di sicurezza di primavera stai usando? – spock99