2012-05-26 19 views
6

मैं अपने एप्लिकेशन को एसएसएल चालू के साथ विशेष रूप से चलाना चाहता हूं। मैं स्प्रिंग सुरक्षा कोर प्लगइन का उपयोग कर रहा हूं। हर बार जब मैं HTTP का उपयोग कर एक यूआरएल का उपयोग करने की कोशिश करेंगेGrails - एसएसएल और स्प्रिंग सुरक्षा कोर

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

मैं उम्मीद कर रहा था इस कारण करने के लिए पुनर्निर्देश:

यह मैं कैसे Config.groovy में ऐसा करने का प्रयास है। हालांकि, मुझे कभी भी पुनर्निर्देशित नहीं किया गया है, और HTTP और HTTPS दोनों के माध्यम से नेविगेट कर सकते हैं। मैं जोड़ सकता हूं कि मैं grails run-app -https

का उपयोग कर अपना आवेदन शुरू कर रहा हूं क्या मुझे यह सब गलत हो रहा है?

कोई भी सुझाव सबसे स्वागत है।

उत्तर

0

आपके पास कोई वाइल्डकार्ड नहीं है, इसलिए परिभाषा सचमुच रूट यूआरएल (/) से मेल खाती है, लेकिन इसके नीचे कुछ भी नहीं (/foo)। क्या आप चाहते हैं:

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

(आप स्पष्ट रूप से वाइल्डकार्ड the documentation :-) में

अंत में देख सकते हैं, यदि आपके सर्वर एक लोड संतुलन या अन्य फ़ायरवॉल कि प्रोटोकॉल खाल के पीछे है, कि एक ही पृष्ठ की जाँच हेडर की जांच करने के निर्देशों के लिए।

+0

मैं सच में माफी चाहता हूँ में अपनी श्रृंखला के लिए 'channelProcessingFilter' जोड़ने के लिए आवश्यकता हो सकती है, मैं अपने प्रश्न संपादित लेकिन मैं पहले से ही वाइल्डकार्ड था मेरी कोड में। यदि यह मायने रखता है तो मैं फेडोरा सिस्टम पर लोकहोस्ट पर यह कोशिश कर रहा हूं। –

1

तुम भी forceHttps विकल्प

grails.plugins.springsecurity.auth.forceHttps = true