6

मुझे लगता है कि एक ही डोमेनएकल साइन फार्म प्रमाणीकरण

उदा पर निवास 2 वेबसाइटों के लिए पर एकल साइन स्थापित करने के लिए कोशिश कर रहा हूँ के साथ पर

http://mydomain (शीर्ष स्तर साइट है कि एक रूपों प्रमाणीकरण प्रवेश पृष्ठ में शामिल है)

http://mydomain/admin (अलग से विकसित वेबसाइट माता पिता वेबसाइट के भीतर एक आभासी आवेदन में रहने वाले)

पर पर एकल साइन कुछ लेख पढ़ा है उदाहरण के लिए

http://www.codeproject.com/KB/aspnet/SingleSignon.aspx

http://msdn.microsoft.com/en-us/library/dd577079.aspx

और वे सुझाव देने के लिए यह सिर्फ प्रत्येक web.config में एक ही machinekey अनुभाग होने का एक मामला है ताकि कुकी एन्क्रिप्शन और डिक्रिप्शन प्रत्येक आवेदन

लिए एक ही है लगता है

मैंने इसे सेट अप किया है और मुझे उप-वेबसाइट (वर्चुअल एप्लिकेशन)

में प्रमाण-पत्रों के लिए कभी भी संकेत नहीं दिया जाता है, मुझे हमेशा मूल साइट पर संकेत मिलता है।

ही machinekey ही <authentication> और <authorisation> तत्वों

किसी भी विचार है कि मैं क्या याद किया जा सकता जोड़ने मैं भी कोशिश की है करने के अलावा?

+0

इस प्रश्न के साथ कोई भी मुकदमा? सुझाव के लिए – AlfeG

उत्तर

1

मैं httpModules खंड पर <clear/> का इस्तेमाल किया था, के रूप में वहाँ है कि (/ व्यवस्थापक)

ऐसा करने में बच्चे के लिए बिन निर्देशिका में मौजूद नहीं था माता-पिता में आइटम थे (<clear/> है कि उपयोग करते हुए) मैं था अनजाने सी में FormsAuthentication मॉड्यूल web.config में निर्दिष्ट मंजूरी दे दी: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ config

तो

मैं उन स्पष्ट रूप से बच्चे को फिर से जोड़ने के लिए की जरूरत है (/ व्यवस्थापक) config

+0

मैं कुछ ऐसा करने की कोशिश कर रहा हूं। क्या हमारे पास एक ही वेबसाइट के लिए फॉर्म ऑथन और एसएसओ हो सकता है? शायद दो अलग-अलग प्रारंभ पृष्ठ हैं, लेकिन एकल web.config? कोई टिप्पणी, सुझाव? – VoodooChild

0

उसी डोमेन का उपयोग करने के लिए दोनों अनुप्रयोगों के web.config में httpCookies अनुभाग को कॉन्फ़िगर करने का प्रयास करें। इस तरह जब आप एक ऐप में लॉग-इन करते हैं तो आपके द्वारा प्राप्त फॉर्म प्रमाणीकरण कुकी अन्य एप्लिकेशन पर दिखाई देगी।

+0

धन्यवाद - दुर्भाग्य है कि नहीं चढ़े, जिस – ChrisCa

1

web.config के आपके फॉर्म अनुभाग को भी वही होना चाहिए।

Quote from - Forms Authentication Across Applications

अनुप्रयोगों के पार रूपों प्रमाणीकरण कॉन्फ़िगर करने के लिए आप सभी एप्लिकेशन को साझा रूपों प्रमाणीकरण में भाग ले रहे के लिए रूपों और Web.config फ़ाइल के machineKey वर्गों में एक ही मान के गुण निर्धारित किया है।

निम्नलिखित उदाहरण वेब.config फ़ाइल का प्रमाणीकरण खंड दिखाता है। जब तक अन्यथा ध्यान न दिया जाए, नाम, सुरक्षा, पथ, सत्यापन, सत्यापन, डिक्रिप्शनकी, और डिक्रिप्शन विशेषता सभी अनुप्रयोगों में समान होना चाहिए। इसी प्रकार, एन्क्रिप्शन और सत्यापन कुंजी मान और एन्क्रिप्शन योजना और सत्यापन प्रमाणीकरण टिकट (कुकी डेटा) के लिए उपयोग की जाने वाली योजना समान होनी चाहिए। यदि सेटिंग्स मेल नहीं खाते हैं, तो प्रमाणीकरण टिकट साझा नहीं किए जा सकते हैं।

+0

धन्यवाद किसी भी फर्क पड़ा - जैसा कि मैंने कहा पहले, मैं एक ही प्रमाणीकरण और प्राधिकरण वर्गों के साथ की कोशिश की है OPne interseting बात मैंने देखा है कि जब मैं loginURL के लिए पूरी तरह से योग्य पथ का उपयोग जैसे "http: //mydomain/login.aspx" मुझे विंडोज क्रेडेंशियल्स के लिए संकेत मिलता है (फॉर्म लॉग इन पेज जो मैं उम्मीद करता हूं) – ChrisCa

+0

बस यह सुनिश्चित करना चाहते हैं कि मुझे यह अधिकार मिल जाए। यदि आप Mydomain में लॉग इन करते हैं तो आपको Mydomain/admin के लिए प्रमाणित होना चाहिए और यह ठीक काम करता है। और आप इसे दूसरे तरीके से काम करना चाहते हैं? यानी जब आप व्यवस्थापक में लॉग इन करते हैं तो आप Mydomain के लिए प्रमाणित हैं? क्या आपने MyDomain में अपना प्रमाणीकरण कोड देखा है? क्या यह किसी भी तरह से व्यवस्थापक से अलग है? –

+0

नहीं। जब मैं mydomain पर जाता हूं, जिसमें लॉगिन पृष्ठ होता है, तो मैं mydomain और mydomain/admin के लिए प्रमाणित होना चाहता हूं। जब मैं http: // mydomain पर जाता हूं, तो मुझे लॉगिन पृष्ठ पर रीडायरेक्ट किया जाता है - जो मैं करना चाहता हूं। जब मैं http: // mydomain/admin पर जाता हूं, तो मुझे पुनर्निर्देशित नहीं किया जाता है - मेरे पास/admin साइट पर पूर्ण पहुंच है। यानी यह माता-पिता – ChrisCa

0

आपको web.config में वही प्रमाणीकरण तत्व होना चाहिए। निहित रूप तत्वों में, सुनिश्चित करें कि आप प्रत्येक एप्लिकेशन को नाम विशेषता के लिए समान मान दें। LoginUrl विशेषता के लिए, मैं एक सापेक्ष पथ का उपयोग करता हूं और सभी अनुप्रयोगों के लिए एक ही लॉगऑन पेज का उपयोग करता हूं (उदा।loginUrl = "/ MainApp/login.aspx")।

इसके अलावा, क्या आप मैन्युअल रूप से प्रमाणीकरण टिकट बना रहे हैं?

+0

हां से प्रमाणीकरण नहीं उठा रहा है, हां, माता-पिता में स्थानीय पथ (login.aspx), और व्यवस्थापक में एक पूर्ण पथ (mydomain/login.aspx) के साथ प्रयास किया है, लेकिन मुझे कभी भी रीडायरेक्ट नहीं किया जाता है लॉगिन पेज/व्यवस्थापक पर। अगर मैं दोनों में एक पूर्ण पथ डालता हूं तो मुझे विंडोज़ लॉगिन प्रॉम्प्ट (फॉर्म पेज लॉगिन नहीं) के साथ प्रोमेट किया जाता है। आईआईएस में सभी सुरक्षा सेटिंग की कोशिश की है लेकिन बच्चे साइट – ChrisCa

+0

पर लॉगिन पेज पर रीडायरेक्ट नहीं किया जा सकता है क्या आप लॉगऑन पेज को प्रदर्शित करने का प्रयास कर रहे हैं, भले ही उपयोगकर्ता पहले से ही गैर-व्यवस्थापक साइट पर लॉग ऑन हो गया हो? साथ ही, क्या आप प्राधिकरण तत्व में प्रतिबंधित उपयोगकर्ता अनुभाग डाल रहे हैं? –

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