문제

내가 반사판에서 얻은 것에서, runwithelevatedPriveleges는 단순히 현재 스레드 아이덴티티를 기본 (비 추함) 아이덴티티로 되돌립니다. 기본 서비스 계정이 슈퍼 사용자이기 때문에 WSS 애플리케이션 풀 내부에서 실행되는 코드의 경우 완벽하게 의미가 있습니다. 사칭이 존재하지 않을 때 외부 (콘솔 또는 서비스) 응용 프로그램에서 실행할 때 어떤 영향을 미칩니 까? 나는 추측하지 않지만 확실히 알고 싶습니다. 나는 인터넷 검색에서 이것에 대한 다양한 의견을 보았습니다.

도움이 되었습니까?

해결책

일반적으로 runwithelevatedPrivileges는 코드가 앱 풀 ID로 실행되지만 콘솔에서는 작동하지 않습니다. 이 경우 우리가 한 일은 사용입니다 runas 또는 예약 된 작업의 신원을 앱 풀 ID와 동일한 계정으로 설정합니다.

다른 팁

하나의 계정으로 실행 파일을 실행 한 다음 SP와 마찬가지로 코드로 자격 증명을 변경하면 그렇게 생각합니다. 그렇지 않으면 자격 증명 객체를 생성 할 수있는 방법 없이는 처음에는 없었던 권한으로 상승 할 수 없습니다.

httpcontext가 null 일 때 runwithelevatedPriveleges는 작동하지 않습니다. 콘솔에서 httpcontext는 null입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top