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」を呼び出す前に、現在のディレクトリが正しく設定されていることを確認してください。Enterprise Library SecurityApplicationBlockも使用しています。元。My.Computer.FileSystem.CurrentDirectory = HttpContext.Current.Request.PhysicalApplicationPath

于 2010-03-11T15:29:35.427 に答える