2012-05-26 36 views
6

Tôi muốn ứng dụng của mình chạy độc quyền với SSL được bật. Tôi đang sử dụng plugin lõi Bảo mật mùa xuân.Grails - SSL và Spring security core

Đây là cách tôi cố gắng để làm điều đó trong Config.groovy:

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

tôi đã mong đợi này để gây chuyển hướng mỗi khi tôi sẽ cố gắng truy cập vào một Url sử dụng HTTP. Tuy nhiên, tôi không bao giờ được chuyển hướng và có thể điều hướng thông qua cả HTTP và HTTPS. Tôi có thể thêm Tôi đang bắt đầu đơn đăng ký của mình bằng cách sử dụng grails run-app -https

Tôi có bị sai không?

Bất kỳ đề xuất nào được hoan nghênh nhất.

Trả lời

0

Bạn không có bất kỳ ký tự đại diện nào, do đó định nghĩa theo nghĩa đen khớp với URL gốc (/), nhưng không có gì bên dưới nó (/foo). Những gì bạn muốn là:

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

(Bạn có thể thấy rõ các ký tự đại diện trong the documentation :-)

Cuối cùng, nếu máy chủ của bạn là đằng sau một cân bằng tải hoặc tường lửa khác mà giấu đi những giao thức, kiểm tra xem cùng một trang để biết hướng dẫn về cách kiểm tra tiêu đề.

+0

Tôi thực sự xin lỗi, tôi thay đổi nội dung câu hỏi của tôi nhưng tôi đã có các kí hiệu đã có trong mã của tôi. Tôi đang cố gắng này trên localhost trên một hệ thống Fedora nếu có vấn đề. –

1

Bạn cũng có thể thử bằng cách sử dụng tùy chọn forceHttps

grails.plugins.springsecurity.auth.forceHttps = true 
Các vấn đề liên quan