Search code examples
enterprise-libraryrelative-pathazman

Relative connection string to AzMan XML store when using security application block


Is it possible to specify a relative connection string for an AzMan XML store?

My current connection string is connectionString="msxml://c:/azman.xml" but I really need to make that relative so other developers and automated builds can get the latest authorization store.

MS documentation seems to suggest that connectionString="msxml://azman.xml" should work but that throws a The request is not supported error.

EDIT: I realised that the fact I'm using AzMan through the Enterprise Library Security Application Block was important to the question.


Solution

  • It is possible to enter the token {currentPath} into the connection string used by the security application block.

    This gave me the behavior I was after, allowing the AzMan.xml file to be accessed from with the application folder.

    The connection string I am using is:

    <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>