2012-08-02 13 views
24

हमारे पास WIF का उपयोग कर एक एएसपी.NET एप्लिकेशन है।डब्ल्यूआईएफ का उपयोग, दर्शकों के बीच अंतर क्या है?

<audienceUris> 
    <add value="https://someapp.mycompany.com/App/" /> 
</audienceUris> 
<federatedAuthentication> 
    <wsFederation passiveRedirectEnabled="true" issuer="https://adfs.mycompany.com/adfs/ls/" realm="https://someapp.mycompany.com/App/" requireHttps="true" /> 
    <cookieHandler requireSsl="false" /> 
</federatedAuthentication> 

हर उदाहरण मैं देख रहा हूँ दोनों audienceUris और realm एक ही मान रहे हैं: हमारे web.config फ़ाइल इस तरह एक वर्ग है। इन दोनों के बीच क्या अंतर है? क्या हमें दोनों की ज़रूरत है?

उत्तर

35

realm एप्लिकेशन का अद्वितीय पहचानकर्ता है - लॉग इन करते समय एसटीएस को भेजी जाने वाली पहचान। हालांकि, audienceUris तत्व का उपयोग टोकन को स्वीकार किए जाने वाले अनुप्रयोगों से सीमित करने के लिए किया जाता है।

उदाहरण के लिए, कोई उपयोगकर्ता साइन-ऑन कर सकता है और एक अलग भरोसेमंद पार्टी से अपना टोकन प्राप्त कर सकता है और फिर अपने आवेदन पर नेविगेट कर सकता है। यदि उस एप्लिकेशन का क्षेत्र audienceUris में सूचीबद्ध है, तो टोकन स्वीकार कर लिया जाएगा और वे साइट तक पहुंच सकते हैं (यह मानते हुए कि एप्लिकेशन कुकी भी पढ़ सकता है)।

यदि आप पासपोर्ट के रूप में टोकन के बारे में सोचते हैं, तो ऐसा लगता है कि ग्रेट ब्रिटेन लोगों को यूएस या ब्रिटिश पासपोर्ट के साथ जाने देगा।

आपके प्रश्न के उत्तर में, आपको उन्हें दोनों शामिल करना चाहिए, लेकिन वे वही हो सकते हैं।

+0

धन्यवाद, यह मदद करता है। इस सवाल पूछने के कारणों में से एक यह था कि हम सोच रहे थे कि खेत में सीधे सर्वर से कनेक्ट करना संभव है या नहीं। तो, आवेदन में एक खेत में है, तो दर्शकों Uris और दायरे खेत का यूआरएल होगा। लेकिन क्या होगा यदि हम खेत में मशीनों में से किसी एक से सीधे कनेक्ट करना चाहते थे? क्या यह संभव है? – Bryan

+2

दायरे वास्तव में यूआरएल नहीं है। यह बस एक पहचानकर्ता है। यह https://www.iloveadfsandidontcare.com या किसी भी यूआरआई हो सकता है, जब तक कि यह आपके एसटीएस के लिए अद्वितीय है। एंडपॉइंट का वास्तविक यूआरएल एडी एफएस में परिभाषित किया गया है, और यह परिभाषित करता है कि साइन-इन प्रतिक्रिया कहां भेजी जाती है। तो यदि आप सीधे खेत में एक विशिष्ट यूआरएल पर जाना चाहते थे, तो आप इसे एडी एफएस में कॉन्फ़िगर करेंगे। –

+0

यदि मैं अपने यूआरआई में अपने वेब.कॉन्फिग में दायरे को बदलता हूं तो आपके पास है और मैं दर्शक को रखता हूं (मेरे ऐप का वास्तविक यूआरएल), मुझे एक त्रुटि मिलती है कि दोनों को मेल करना है। (AudienceUriValidationFailedException: ID1038: AudienceRestrictionCondition मान्य नहीं था क्योंकि निर्दिष्ट ऑडियंस AudienceUris में मौजूद नहीं है।) ऐसा लगता है कि वे दोनों आवश्यक हैं और वे दोनों एक जैसा होना चाहिए। – Bryan

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