2009-02-05 30 views
5

是否可以爲AzMan XML存儲指定相對連接字符串?當使用安全應用程序塊時,AzMan XML存儲的相對連接字符串

我目前的連接字符串是connectionString="msxml://c:/azman.xml",但我真的需要做出相對的關係,以便其他開發人員和自動構建可以獲得最新的授權存儲。

MS文檔似乎暗示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

當我使用這種技術時,在一個web應用程序中,currentPath被評估爲「c:\ windows \ system32 \ inetsrv」而不是應用程序目錄。我如何獲得它映射到應用程序目錄? – 2009-02-26 00:47:48

5

添加〜將使其相對於應用程序

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

如果您使用{} currentPath,請務必使「AuthorizationFactory.GetAuthorizationProvider」呼叫前將當前目錄設置正確。我也在使用企業庫安​​全應用程序塊。例如, My.Computer.FileSystem.CurrentDirectory = HttpContext.Current.Request.PhysicalApplicationPath

相關問題