代码之家  ›  专栏  ›  技术社区  ›  David Hall

使用安全应用程序块时AzMan XML存储的相对连接字符串

  •  5
  • David Hall  · 技术社区  · 17 年前

    是否可以为AzMan XML存储指定相对连接字符串?

    我当前的连接字符串是 connectionString="msxml://c:/azman.xml" 但我真的需要将其相对化,以便其他开发人员和自动化构建能够获得最新的授权存储。

    MS文档似乎表明 connectionString="msxml://azman.xml" 应该行得通,但那会带来麻烦 The request is not supported

    编辑:我意识到通过企业库安全应用程序块使用AzMan对这个问题很重要。

    3 回复  |  直到 17 年前
        1
  •  6
  •   David Hall    16 年前

    可以在安全应用程序块使用的连接字符串中输入标记{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>
    
        2
  •  5
  •   Glennular    17 年前

    添加~将使其相对于应用程序

    <add name="AuthorizationServices" connectionString="msxml://~/App_Data/AzMan.xml"/>
    
        3
  •  0
  •   SomberJack    16 年前

    如果使用{currentPath},请确保在进行“AuthorizationFactory.GetAuthorizationProvider”调用之前正确设置了当前目录。我还使用企业库安全应用程序块。 My.Computer.FileSystem.CurrentDirectory=HttpContext.Current.Request.PhysicalApplicationPath

    推荐文章