سلسلة الاتصال النسبية لأزمان مخزن XML عند استخدام كتلة تطبيق الأمن

StackOverflow https://stackoverflow.com/questions/514252

سؤال

هل من الممكن تحديد سلسلة اتصال النسبية لمخزن XML أزمان؟

وبلدي سلسلة الاتصال الحالية هي connectionString="msxml://c:/azman.xml" ولكن أنا فعلا بحاجة لجعل هذا بالنسبة للمطورين آخرين حتى والآلي يبني يمكن الحصول على أحدث مخزن تخويل.

وثائق MS يبدو تشير إلى أن connectionString="msxml://azman.xml" يجب أن تعمل ولكن هذا يلقي خطأ The request is not supported.

وتحرير: أدركت حقيقة أنا باستخدام أزمان من خلال كتلة تطبيق مكتبة المؤسسة الأمن مهم على السؤال

هل كانت مفيدة؟

المحلول

ومن الممكن إدخال الرمز المميز {} 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>

نصائح أخرى

واضاف ان ~ سيجعل نسبة إلى تطبيق

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

إذا كنت تستخدم {currentPath}، تأكد الدليل الحالي وتعيين بشكل صحيح قبل إجراء "AuthorizationFactory.GetAuthorizationProvider" المكالمة. أنا أيضا باستخدام كتلة تطبيق مكتبة المؤسسة الأمنية. السابق.    My.Computer.FileSystem.CurrentDirectory = HttpContext.Current.Request.PhysicalApplicationPath

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top