6

SSL をオンにしてアプリケーションを排他的に実行したいと考えています。Spring Security コア プラグインを使用しています。

これは私がそれをやろうとする方法ですConfig.groovy:

grails.plugins.springsecurity.portMapper.httpPort = 8080
grails.plugins.springsecurity.portMapper.httpsPort = 8443
grails.plugins.springsecurity.secureChannel.definition = [ '/**' : 'REQUIRES_SECURE_CHANNEL']

HTTP を使用して URL にアクセスしようとするたびに、これによりリダイレクトが発生することを期待していました。ただし、リダイレクトされることはなく、HTTP と HTTPS の両方をナビゲートできます。を使用してアプリケーションを開始していることを追加する場合がありますgrails run-app -https

私はこれをすべて間違っていますか?

どんな提案でも大歓迎です。

4

3 に答える 3

2

構成で宣言されたカスタムフィルターチェーンがありますか?

その場合、チェーンに「channelProcessingFilter」を追加する必要があるかもしれません

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/security-filter-chain.html

于 2012-08-30T09:29:46.757 に答える
1

forceHttps オプションを使用して試すこともできます

grails.plugins.springsecurity.auth.forceHttps = true
于 2012-05-26T21:11:47.523 に答える
0

ワイルドカードがないため、定義は文字通りルート URL ( /) と一致しますが、その下には何もありません ( /foo)。あなたが望むものは:

grails.plugins.springsecurity.secureChannel.definition = [ '/**' : 'REQUIRES_SECURE_CHANNEL']
                                                             ^^

(ドキュメントでワイルドカードを明確に確認できます:-)

最後に、サーバーがプロトコルを隠すロード バランサーまたはその他のファイアウォールの背後にある場合は、ヘッダーを確認する手順について同じページを確認してください。

于 2012-05-26T06:54:21.130 に答える