보안 애플리케이션 블록을 사용할 때 AZMAN XML 저장소에 상대 연결 문자열
-
21-08-2019 - |
문제
Azman XML 상점의 상대 연결 문자열을 지정할 수 있습니까?
내 현재 연결 문자열입니다 connectionString="msxml://c:/azman.xml"
그러나 다른 개발자와 자동화 된 빌드는 최신 승인 저장소를 얻을 수 있도록 상대적으로 만들어야합니다.
MS 문서는 그것을 제안하는 것 같습니다 connectionString="msxml://azman.xml"
작동하지만 a The request is not supported
오류.
편집 : Enterprise Library Security Application Block을 통해 Azman을 사용하는 것이 질문에 중요하다는 것을 깨달았습니다.
해결책
보안 애플리케이션 블록에서 사용하는 연결 문자열에 토큰 {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>
다른 팁
~ 추가 ~ 응용 프로그램과 관련하여
<add name="AuthorizationServices" connectionString="msxml://~/App_Data/AzMan.xml"/>
{currentpath}를 사용하는 경우 "erustizationfactory.getAuthorizationProvider"를 작성하기 전에 현재 디렉토리가 올바르게 설정되어 있는지 확인하십시오. 또한 Enterprise Library Security Application Block을 사용하고 있습니다. 전. my.computer.filesystem.currentDirectory = httpcontext.current.request.physicalapplicationpath