2009-02-05 4 views
5

क्या एज़मैन एक्सएमएल स्टोर के लिए रिश्तेदार कनेक्शन स्ट्रिंग निर्दिष्ट करना संभव है?सुरक्षा अनुप्रयोग ब्लॉक का उपयोग करते समय AzMan XML स्टोर से संबंधित कनेक्शन स्ट्रिंग

मेरा वर्तमान कनेक्शन स्ट्रिंग connectionString="msxml://c:/azman.xml" है, लेकिन मुझे वास्तव में उस रिश्तेदार को बनाने की आवश्यकता है ताकि अन्य डेवलपर्स और स्वचालित बिल्ड नवीनतम प्रमाणीकरण स्टोर प्राप्त कर सकें।

एमएस दस्तावेज का सुझाव है कि connectionString="msxml://azman.xml" काम करना चाहिए लेकिन यह The request is not supported त्रुटि फेंकता है।

संपादित करें: मुझे एहसास हुआ कि एंटरप्राइज़ लाइब्रेरी सुरक्षा अनुप्रयोग ब्लॉक के माध्यम से मैं Azman का उपयोग कर रहा हूं, इस सवाल के लिए महत्वपूर्ण था।

उत्तर

6

यह कनेक्शन सुरक्षा आवेदन ब्लॉक द्वारा इस्तेमाल किया स्ट्रिंग में टोकन {currentPath} दर्ज करने के लिए संभव है के सापेक्ष कर देगा।

इसने मुझे वह व्यवहार दिया जो मैं बाद में था, AzMan.xml फ़ाइल को एप्लिकेशन फ़ोल्डर से एक्सेस करने की इजाजत दी गई।

कनेक्शन स्ट्रिंग मैं उपयोग कर रहा हूँ है:

<authorizationProviders> 
    <add storeLocation="msxml://{currentPath}/azman.xml" 
    application="My_Application" scope="" auditIdentifierPrefix="AzMan Authorization Provider" 
    type="Microsoft.Practices.EnterpriseLibrary.Security.AzMan.AzManAuthorizationProvider, Microsoft.Practices.EnterpriseLibrary.Security.AzMan, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    name="AzMan Provider" /> 
</authorizationProviders> 
+0

जब मैं इस तकनीक का प्रयोग, एक वेब अनुप्रयोग में, currentPath के रूप में मूल्यांकन किया जा रहा है "c: \ windows \ system32 \ inetsrv" के बजाय एप्लिकेशन निर्देशिका। मैं इसे एप्लिकेशन डीआईआर में मैप करने के लिए कैसे प्राप्त करूं? –

+2

{baseDirectory} का उपयोग करके मेरे लिए काम किया, फ़ाइल को वेब एप्लिकेशन निर्देशिका के अंतर्गत पाया जा सकता है। –

5

जोड़ा जा रहा है ~ यह आवेदन

<add name="AuthorizationServices" connectionString="msxml://~/App_Data/AzMan.xml"/> 
0

आप {currentPath} का उपयोग करते हैं, तो सुनिश्चित करें कि आपके वर्तमान निर्देशिका ठीक से पहले आप "AuthorizationFactory.GetAuthorizationProvider" कॉल करने के लिए निर्धारित है हो सकता है। मैं एंटरप्राइज़ लाइब्रेरी सुरक्षा अनुप्रयोग ब्लॉक का भी उपयोग कर रहा हूं। पूर्व। My.Computer.FileSystem.CurrentDirectory = HttpContext.Current.Request.PhysicalApplicationPath

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