5

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

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

MS文档似乎表明connectionString="msxml://azman.xml"应该可以工作,但会引发The request is not supported错误。

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

4

3 回答 3

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>
于 2009-02-05T03:58:04.530 回答
5

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

<add name="AuthorizationServices" connectionString="msxml://~/App_Data/AzMan.xml"/>
于 2009-02-05T02:14:57.967 回答
0

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

于 2010-03-11T15:29:35.427 回答