2014-02-15 53 views
3

我的本地主機上的開發環境中無法讓我的應用將登錄頁面從http重定向到https。這是通過春季安全插件的設計嗎?grails重定向登錄頁面到本地主機上使用spring安全性的https

我從intellij運行我的開發環境。當我開始我的應用程序的命令行有

-https 

,並在服務器啓動的消息顯示:

Server running. Browse to http://localhost:8080/ or https://localhost:8443/ 

我可以去https://localhost:8443/login/auth在瀏覽器和我的應用程序的頁面顯示爲安全。當我輸入http://localhost:8080/login/auth時,瀏覽器不會被重定向到安全頁面。

Config.groovy中:

environments { 
    development { 
     grails.server.port.https=8443 
     grails.server.host="localhost" 
     grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true 
     grails.plugin.springsecurity.portMapper.httpPort = 8080 
     grails.plugin.springsecurity.portMapper.httpsPort = 8443 
     grails.plugin.springsecurity.secureChannel.secureHeaderName = 'X-Forwarded-Proto' 
     grails.plugin.springsecurity.secureChannel.secureHeaderValue = 'http' 
     grails.plugin.springsecurity.secureChannel.insecureHeaderName = 'X-Forwarded-Proto' 
     grails.plugin.springsecurity.secureChannel.insecureHeaderValue = 'https' 
... 

grails.plugin.springsecurity.secureChannel.definition = [ 
     '/':    'REQUIRES_INSECURE_CHANNEL', 
     '/index':   'REQUIRES_INSECURE_CHANNEL', 
     '/index.gsp':  'REQUIRES_INSECURE_CHANNEL', 
     '/images/**':  'ANY_CHANNEL', 
     '/img/**':   'ANY_CHANNEL', 
     '/js/**':   'ANY_CHANNEL', 
     '/css/**':   'ANY_CHANNEL', 
     '/login/**':      'REQUIRES_SECURE_CHANNEL', 
... 

是否重定向工作爲別人?我沒有從戰爭文件中運行應用程序,並且生產工作正常。

回答

2

我使用這個屬性:

grails.plugin.springsecurity.auth.forceHttps = true 

而且/login路徑不在secureChannel定義。它在本地適用於我。

+0

我試過你的組合,但重定向仍然不會在本地主機上發生。你有沒有其他相關的springsecurity設置可能是一個因素? – spock99

+0

嘗試在開發中將其設置爲false:'grails.plugins.springsecurity.secureChannel.useHeaderCheckChannelSecurity = false' – brwngrldev

+0

沒有運氣,無論是@advais。 – spock99

相關問題