2012-02-24 14 views
7

मैंने अभी एक हैलोवर्ल्ड सर्वलेट बनाया है और उस पर सीएएस लागू किया है। मैं समस्या के बिना में प्रवेश कर रहा हूँ और कैस/कैस के लिए अपने ब्राउज़र, CASGT, और 2 में 3 को कुकी सेट है jsessionid 1 और एक अन्य/HelloWorldसीएएस लॉगआउट और कुकीज़ उन्मूलन

के लिए समस्या यह है कि फिर मैं का उपयोग https://blah:8443/cas/logout है मैं लॉग आउट succesfuly स्क्रीन देखें लेकिन कुकीज़ अभी भी मेरे ब्राउज़र में हैं, इसलिए मुझे लॉग आउट नहीं किया जा रहा है, मैं लॉगिन स्क्रीन के बिना फिर से/helloWorld में प्रवेश कर सकता हूं।

क्या आपको पता है कि सीएएस के लिए लॉग आउट करते समय बनाई गई कुकीज़ को हटाने के लिए मुझे क्या करना चाहिए?

धन्यवाद अग्रिम में

उत्तर

5

CASGT कुकी कैस द्वारा निर्धारित है और इसके द्वारा सेट किए बिना किया जाना चाहिए। सीएएस लॉगआउट प्रक्रिया इस प्रकार काम करती है:

  1. आप वास्तव में सीएएस लॉगआउट पृष्ठ पर जाते हैं। पृष्ठ को उस एप्लिकेशन को जानना चाहिए जिसे आप लॉग आउट कर रहे हैं। एक तरीका है अपने आवेदन से सीएएस लॉगआउट पेज पर रीडायरेक्ट करना, पैरामीटर के रूप में रीडायरेक्ट-बैक यूआरएल की आपूर्ति करना।

  2. आपकी कुकी मिटा दी गई है और फिर आपको POST अनुरोध के माध्यम से अपने एप्लिकेशन पर रीडायरेक्ट कर दिया जाता है।

  3. SingleSignOutFilter एक विशेष पैरामीटर "logoutRequest" पकड़ता है और वास्तव में टिकट/सत्र मैपिंग को बहुत शुरुआत से ही नष्ट कर देता है और वर्तमान सत्र को भी अमान्य करता है।

सीएएस डीबग करने के लिए, TRACE स्तर लॉगिंग सक्षम करें। इस तरह से आपको पता चलेगा कि उचित अनुरोध प्राप्त हुआ था या यदि सत्र अवैध कर दिया गया है।

मैं आपको org.jasig.cas.client.session पैकेज के कोड को देखने के लिए भी सलाह देता हूं, जो कि काफी सरल है।

+2

धन्यवाद आपके सुझावों के लिए बहुत कुछ Infeligo, वे मेरी समस्या का समाधान नहीं किया लेकिन मुझे पता चला कि क्या गलत हो रहा था।मेरी समस्या यह थी कि एसएसएल कॉन्फ़िगरेशन में से एक था, लॉगआउट स्क्रीन को http पर बुलाया जा रहा था, इसलिए ब्राउज़र सीएएसजीटी कुकी नहीं भेज रहा था, इसलिए सीएएस सर्वर एक स्क्रीन दिखाने के अलावा कुछ भी नहीं करता है जो लॉगआउट सफल कहता है। –

+0

सफल लॉगआउट के बाद आपको अपनी कस्टम कुकीज़ को हटाने के लिए सीएएस सर्वर पक्ष पर कुछ कस्टम कोड लागू करना होगा – alexanoid

3

आपको सीएएस एकल साइन आउट पर प्रलेखन की जांच करनी चाहिए जो here पाया जा सकता है। इसे कहते हैं:

कहाँ एकल साइन बाहर काम करता है:

ग्राहकों/बोली जिसका सत्र प्रबंधन सर्वर साइड पर बनाए रखा है। सत्र के बाद समाप्त करने के लिए सीएएस क्लाइंट सत्र जानकारी तक पहुंच सकते हैं।

एकल साइन आउट कहाँ काम नहीं करता:

ग्राहकों/बोली जिसका केवल सत्र प्रबंधन कुकीज़ के होते हैं। सीएएस के पास ब्राउज़र की कुकीज़ तक पहुंच नहीं है और इसलिए सत्र समाप्त नहीं कर सकता है। (हालांकि, ब्राउज़र विंडो को बंद करना करना चाहिए)

और मुझे लगता है कि यह आपके मामले में काफी अधिक है। कुकी आधारित एसएसओटी करना संभव नहीं है, लेकिन यदि आप स्प्रिंग जैसे ढांचे का उपयोग कर सकते हैं (जैसा कि हम अपनी परियोजनाओं में करते हैं) तो एसएसओटी कॉन्फ़िगर करना आसान है और बहुत आसान

संबंधित मुद्दे