내 web.config의 연결 문자열을 암호화하고 싶습니다. Here이 작업을 수행하는 방법에 대한 좋은 예제를 발견했습니다. 이것을 구현하고 개발 컴퓨터에서이 소프트웨어를 찾는다. 내가 공급자에 업로드하면 그러나, 다음과 같은 오류와 함께 작동하지 않습니다Web.Config의 연결 문자열 암호화가 실패합니다.
[SecurityException가 :. 요청이 실패] System.Configuration.DpapiProtectedConfigurationProvider.Encrypt (있는 XmlNode 노드)
this을에서 블로그 내가 읽었습니다, 이것은 웹 때문에 아마 중간 신뢰에서 실행되므로 WebConfigurationManager.OpenWebConfiguration
사용할 수 없습니다. 이 대신 WebConfigurationManager.GetSection
을 사용해야합니다. 내가 제안 된 섹션을 얻을 경우, ProtectSection
에 대한 호출은 다음과 같은 오류 메시지와 함께 실패합니다
System.InvalidOperationException :이 작업은 실행
에 적용되지 않습니다사람이 솔루션에 저를 이끌 수, web.config 파일에서 (런타임에) 연결 문자열을 인코딩 (및 디코딩) 할 수있는 방법은 무엇입니까?
업데이트 진짜 질문에 답하지만 호스팅은 웹에 완전 신뢰를주고 지금, 모두가 잘 작동하지 않습니다. 나는 quesion을 열어 둔 채 누군가가 원래의 질문에 대한 해결책을 게시하고이 문제에 대해 동일한 문제를 가지고 있지만 완전히 신뢰하지는 못하게하는 데 도움을 줄 수 있습니다.
답변 해 주셔서 감사합니다. 그러나 구성은 다음과 같습니다. config = WebConfigurationManager.OpenWebConfiguration ("~"); 예외의 근원 인 IIS는 그것을 실행하지 않고 SecurityException을 던집니다! – HCL
@HCL : 서비스 계정에 web.config 파일에 대한 쓰기 권한이 있습니까? – kbrimington
@kbrimington : 예, hoster의 구성 도구를 사용하면 디렉토리 기반에 대한 권한을 부여 할 수 있으며 루트 (또한 가상 디렉터리)에 대해 testwise IUSR 읽기/쓰기 권한을 부여했습니다. – HCL