보안 디렉토리에 액세스해야하는 winforms 앱이 있습니다. 나는 가장을 사용하고 WindowsIdentity를 만들어 폴더에 액세스합니다.사용자를 허용하고 모두 거부하도록 디렉토리 보안 설정
제 문제는 디렉토리 보안을 테스트하기위한 단위 테스트를 작성하는 것입니다. 한 사용자에게만 보안 디렉토리를 생성하는 코드를 작성하고 싶습니다. 현재 UT를 실행중인 사용자가 아닙니다. 그렇지 않으면 테스트가 쓸모 없게됩니다.
특정 사용자에게 권한을 추가하는 방법을 알고 있지만 관리자를 포함하여 나머지는 어떻게 거부 할 수 있습니까? (UT를 실행하는 사용자가 관리자 인 경우)
DirectoryInfo directoryInfo = new DirectoryInfo(path);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
directorySecurity.AddAccessRule(new FileSystemAccessRule("Domain\SecuredUser",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
AccessControlType.Allow));
directorySecurity.RemoveAccessRule(new FileSystemAccessRule("??",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
AccessControlType.Deny));
directoryInfo.SetAccessControl(directorySecurity);
이것은 작동하지 않습니다. 나는 누가 내가 부인했는지 모른다. Domain \ Admins, Domain \ Administrators, me ... 아무도 거부되고 폴더 보안을 검사 할 때 - SecuredUser는 폴더에 대한 액세스 권한이 있지만 FullControl을 지정한 경우에도 사용 권한을 확인하지 않습니다. > 실행 UT를 - ->로 가장 -> 액세스로 가장 :
<authorization>
<allow users ="Domain\User" />
<deny users="*" />
</authorization>
나는 아무 권한이 약한 사용자와 UT의 실행을 사칭에 대해 생각했지만,이 초래 :
는 기본적으로 난이 원하는 코드를 폴더, 그리고 이것이 올바른 디자인인지 확실하지 않습니다.
도움을 주시면 대단히 감사하겠습니다. 감사합니다.
나는 ASP에 대해 모르지만 단지 perms 폴더에 댓글을 달았습니다 ... 당신이 읽기/쓰기를 위해 폴더/파일에 접근하고 싶다면 폴더 사용 권한이 있습니다. 파일을 제공하는 것과 아무런 관련이 없습니다. 프레임 워크는 요청을 승인하는 프로세스를 처리하지만이 프로세스와 관련된 모든 구성 요소가 확실하지 않습니다. –
@Brian, '파일 전송'과 관련이 없습니다. 나는 네가 의미하는 바를 잘 모르겠다. – Rita
사용자가 http://www.mysite.com/myfile.aspx로 이동할 수있는 액세스는 Windows 보안 응용 프로그램의 경우에도 디렉터리 사용 권한을 조사하지 않습니다. –