के साथ फ़ेडरेट करते समय टाइमआउट को सही तरीके से कैसे सेट करें मैं कुछ समय के लिए एडीएफएस 2.0 का उपयोग कर रहा हूं और मैं समझता हूं कि चीजें कैसे काम करती हैं। मैंने दर्जनों कस्टम आरपी, कस्टम एसटीएस के साथ-साथ एडीएफएस का उपयोग भरोसेमंद एसटीएस के रूप में किया है।ADFS 2.0
हालांकि, मेरे पास एक साधारण आवश्यकता है जिसे मैं अभी भी पूरा करने में असफल रहा हूं।
मैं चाहता हूं कि मेरे उपयोगकर्ताओं को कुछ निश्चित समय के बाद relogin पर मजबूर होना पड़े। मान लें कि परीक्षण उद्देश्यों के लिए 1 मिनट का कहना है।
सबसे पहले, मैंने आरपी के पक्ष में कुछ सुधार किए हैं। ऐसा लगता है कि अज्ञात कारण के लिए, आरपी सत्र को बरकरार रखता है भले ही टोकन के validTo
समय पर वापस बिंदु। यह विरोधाभास है कि विटोरियो बर्टोकसी ने अपनी पुस्तक (पृष्ठ 123) में क्या कहा है, जहां वह दिखाता है कि स्लाइडिंग समाप्ति कैसे करें - वह कहता है कि "सत्र प्रमाणीकरण मॉड्यूल के बाद समाप्त होने वाले सत्र को संभालने का ख्याल रखेगा"। ठीक है, मेरे लिए यह नहीं है, हालांकि मैं एक चाल यहाँ http://blogs.planbsoftware.co.nz/?p=521 पाया है करता है - पर एक नज़र "अगर" खंड:
sam.SessionSecurityTokenReceived +=
(s, e) =>
{
SessionAuthenticationModule _sam = s as SessionAuthenticationModule;
DateTime now = DateTime.UtcNow;
DateTime validFrom = e.SessionToken.ValidFrom;
DateTime validTo = e.SessionToken.ValidTo;
try
{
double halfSpan = (validTo - validFrom).TotalSeconds/2;
if (validTo < now)
{
_sam.DeleteSessionTokenCookie();
e.Cancel = true;
}
}
catch (Exception ex)
{
int v = 0;
}
};
यह चाल आर पी एस पक्ष में समस्या ठीक होती है। जब टोकन अमान्य है तो एप्लिकेशन इसे साफ़ कर देता है और लॉगिन पृष्ठ पर रीडायरेक्ट करता है।
अब समस्या आती है। मेरा लॉगिन पेज FederatedPassiveSignIn
नियंत्रण का उपयोग करता है। क्लिक करने पर, यह ब्राउज़र को ADFS पर रीडायरेक्ट करता है।
लेकिन एडीएफएस खुशी से नए सत्र उपयोगकर्ता के लिए किसी भी संकेत के बिना बनाता है।
मैं इस आरपी के लिए टोकन के जीवनकाल की स्थापना की है 1 करने के लिए:
Set-ADFSRelyingPartyTrust -Targetname "myrpname" -TokenLifetime 1
और Get-ADFSRelyingPartyTrust
का उपयोग कर मैं देख सकता हूँ यह 1 पर सेट है कि (मैं भी टोकन validTo
अपने पन्ने पर पुष्टि करते हैं कि इस सेट कर दिया जाता प्रिंट सही ढंग से)।
ADFS-SetProperties -SsoLifetime 1
ADFS-SetProperties -ReplyCacheExpirationInterval 1
ADFS-SetProperties -SamlMessageDeliveryWindow 1
लेकिन फिर भी प्रयास विफल:
तब मैं ADFS-SetProperties
से ADFS गुण सेट करें। मैं अब अटक गया हूँ।
परिदृश्य मेरे कस्टम एसटीएस के साथ सही तरीके से काम करता है जहां एसटीएस सत्र की वैधता फॉर्म कुकी पर आधारित होती है - अगर मैं अपने आरपी अनुप्रयोग में निष्क्रियता के 1 मिनट के बाद एसटीएस के फॉर्म कुकी टाइमआउट को 1 पर सेट करता हूं, तो मुझे रीडायरेक्ट किया जाता है मेरे आरपी का लॉगिन पेज जो फिर एसटीएस पर रीडायरेक्ट करता है जो इसके लॉगिन पेज को प्रस्तुत करता है।
हालांकि, यह ADFS 2.0 के मामले में नहीं है। निष्क्रियता के एक मिनट के बाद, मुझे अपने आरपी के लॉगिन पेज पर रीडायरेक्ट किया गया है जो एडीएफएस के लॉगिन पेज पर रीडायरेक्ट करता है जो बदले में फिर से रीडायरेक्ट करता है जैसे ही सत्र एडीएफएस के भीतर सक्रिय होगा।
मैं चाहते हैं किसी के लिए:
(1) शीर्ष पर वर्णित हैक पर एक नज़र डालें और इसका कारण बताएं एक सीमा समाप्त टोकन स्वचालित रूप से अस्वीकार कर दिया है और इस तरह के बदसूरत हैक की जरूरत है
(2) एडीएफएस 2.0 पक्ष में सत्र को सही तरीके से टाइमआउट करने का तरीका बताएं ताकि टोकन को नवीनीकृत करने का अनुरोध लॉगिन पृष्ठ से संरक्षित हो।
अग्रिम धन्यवाद।
संपादित
मैं पुष्टि कर सकता है कि 1 मिनट के लिए सब से ऊपर मानकों की स्थापना करता है ADFS सत्र 5 मिनट (या अधिक) के बाद अमान्य। यह संघर्ष है और ऐसा लगता है कि या तो मैं मूल गलती कर रहा हूं या 5 मिनट न्यूनतम स्वीकार्य मूल्य है।
ऊपर से मेरा (2) अब सिर्फ मेरे अवलोकन की पुष्टि और व्याख्या करने के लिए है।
मेरे पीओवी से जो जानकारी आप प्रदान करते हैं वह मदद करने के लिए पर्याप्त नहीं है (हालांकि आप बहुत सारी जानकारी प्रदान करते हैं) क्योंकि टाइमआउट व्यवहार इतने सारे differents भागों (एसटीएस, आरपी ...) की सेटिंग्स पर निर्भर करता है और इन्हें कैसे लागू किया जाता है। .. चूंकि आप बहुत से कस्टम लोगों का उपयोग करते हैं, उन्हें भारी अनुमान लगाया जाता है :-( – Yahia
@ याहिया: ब्याज के लिए धन्यवाद। आप देखते हैं कि वहां कोई कस्टम घटक नहीं हैं। यह एडीएफएस 2.0 है, जो बॉक्स से बाहर स्थापित है और डब्ल्यूआईएफ आरपी की तरफ। अटकलों के लिए कोई कमरा नहीं, मेरी राय में। –
तब मैंने माना कि * मैंने कस्टम आरपीएस के दर्जनों, कस्टम एसटीएस के साथ-साथ एडीएफएस का उपयोग गलती से एसटीएस * के रूप में किया है। – Yahia