반응형
"&"문자는 web.config에 저장된 암호를 구분합니다.
IIS 7.5에서 실행되는 ASP.NET MVC3 C # .NET 응용 프로그램이 있습니다.
파일 공유에 문서를 읽고 쓰기 위해 코드에서 가장하는 Windows NT 서비스 계정이 있습니다. 사용자 ID는 코드에서 컴파일되고 서비스 계정 암호는 web.config 파일에 저장됩니다.
암호에는 앰퍼샌드 문자 (예 :)가 포함 p&ssword
됩니다.
이로 인해 사이트가 손상되었습니다. 사이트에 액세스 할 때 "죄송합니다. 요청을 처리하는 동안 오류가 발생했습니다"라는 오류가 발생했습니다.
다음은 암호를 사용하는 코드입니다.
var password = ConfigurationManager.AppSettings.Get(Common.SVC_PWD);
bool isSuccess = LogonUser(
@"my_svc_acct",
"my.domain.net",
password,
LOGON32_LOGON_NEW_CREDENTIALS,
LOGON32_PROVIDER_DEFAULT, ref token
);
이로 인해 사이트가 중단되는 이유는 무엇입니까?
web.config
파일에 암호를 올바르게 인코딩하지 않은 것 같습니다 . 그 기억 web.config
엔티티 인코딩해야합니다 있도록하는 XML 파일입니다.
대신에
my&password
시험
my&password
FreeFormatter.com 과 같은 사이트를 사용 하여 XML 문자열을 이스케이프 / 이스케이프 해제 할 수 있습니다 .
인코딩 된 값을 web.config에 넣어야합니다. 일단 풀면 제대로 읽히지 만 구성 파일 자체에서 인코딩해야합니다.
예 :
암호 : your&password
(기대하는 것)
인코딩 된 버전 : your&password
(web.config에 저장되어야하는 내용)
값을 읽는 래퍼 메서드는 자동으로로 인코딩을 해제해야 your&password
합니다.
모든 '특수'문자에 대해이 작업을 수행해야합니다.
< = <
> = >
" = "
' = '
& = &
CDATA를 사용하여 web.config에 비밀번호 저장
암호를 다음으로 바꾸십시오.
<![CDATA[MyPassw&rd]]>
반응형
'programing' 카테고리의 다른 글
jQuery 웹 페이지 높이 (0) | 2020.12.14 |
---|---|
ListView 내부의 ListView 및 버튼 (0) | 2020.12.14 |
ICE 후보자는 무엇이며 피어 연결은 어떻게 선택합니까? (0) | 2020.12.14 |
MVC의 현재 컨텍스트에 '스크립트'라는 이름이 없습니다. (0) | 2020.12.14 |
여러 열을 한 번에 요인으로 강제 변환 (0) | 2020.12.14 |