확실한 방법은 폴더에 대한 쓰기 권한이있는 서비스를 만드는 것이므로 폴더에 쓰기 요청에 대한 "브로커"역할을 할 수 있습니다. 프로세스는 다음과 같을 것이다 :
는
- [프로그램]은 임시 파일 경로에 보고서 출력을 작성
- [프로그램] 알립니다 [서비스] 그 보고서 출력 X가 임시 파일 경로
- 을 [에서 사용할 수 있습니다 SERVICE] 보고서 출력 X를 임시 파일 경로에서 적절한 제한된 위치로 복사합니다.
- [SERVICE] [PROGRAM] 출력이 복사되었음을 알립니다.
- [PROGRAM] 제한된 위치에서 출력에 액세스합니다. 제한 위치에 대한 액세스를 중재 별도의 브로커 프로세스를 갖는
지금은 매우 일반적이며이 UAC 기본적으로 제한된 파일 시스템 액세스와 함께 작동 할 수 있도록, 다른 사람의 사이에, Internet Explorer에서 emoployed 기술 중 하나입니다.
브로커 서비스를 코드화하여 (예 : API 만 허용), 예를 들어 제한된 위치에 새 파일을 작성하여 기록 출력이 삭제/덮어 쓰기되는 것을 방지하고 표준 사용자에게 줄 필요가 없도록 할 수 있습니다 제한된 위치에 대한 읽기 액세스 이외의 다른 것.
대체로 비슷할 수도 있지만 Windows 서비스를 작성하지 않아도되는 또 다른 방법은 1-5 단계에서 작업을 수행하는 "승격 된 사용자"로 실행되도록 구성된 예약 된 작업을 만드는 것입니다. 그런 다음 응용 프로그램에 의해 필요에 따라 (일정보다) 실행되도록 구성하십시오 (I 생각하면 가능하지만 100 % 확신 할 수는 없습니다).
출처
2012-06-26 10:44:10
Rob
이 작업을 수행하는 간단한 방법은 없습니다. 가능하다면 프로그램을 해당 디렉토리에 부적절하게 작성하는 방법을 피할 수있는 방법이 없다는 것을 보장해야합니다. 당신 자신. –
그래, 나는 그만큼 생각했다. 하지만 아마도 해결 방법이있을 수 있습니다. 어쩌면 특수 사용자를 만들 수 있으며 응용 프로그램에서이 사용자 계정의 권한을 사용할 수 있습니다. – user1482185
프로그램이 작동하도록 * 특수 사용자 *를 만들면 프로그램이 액세스 할 수있는 어딘가에 자격 증명을 저장해야합니다. 표준 사용자로 실행 **. 즉 궁극적으로 보안을 잠재적으로 비효율적으로 만드는 표준 사용자가 자격 증명을 사용할 수 있음을 의미합니다 (대다수의 사용자를 막을 수있는 자격 증명을 암호화 할 수는 있지만 기술적으로는 조금이라도 방해가되지는 않습니다. 수 및/또는 결정). – Rob