2017-01-11 1 views
0

.NET 코어 용 유닛 테스트 프로젝트에서 폴더를 만든 다음 액세스 권한을 제한하려고합니다. .NET 코어 - 디렉토리 사용 권한 Linux

DirectoryInfo dirInfo = Directory.CreateDirectory(DriveManager.LogicalDrive + ":\\testDir"); 
    DirectorySecurity dirSecurity = new DirectorySecurity(dirInfo.FullName, AccessControlSections.All); 

    var securityId = System.Security.Principal.WindowsIdentity.GetCurrent().User; 

    FileSystemAccessRule rule = new FileSystemAccessRule(securityId, FileSystemRights.ListDirectory, AccessControlType.Deny); 
    dirSecurity.AddAccessRule(rule); 
    dirInfo.SetAccessControl(dirSecurity); 

은 분명히 WindowsIdentity.GetCurrent().User 유닉스 형 OS에서 작동하지 않습니다 :

지금까지이 코드의 Windows 버전을 구현했습니다. 다른 기능이 호환되지 않을 수도 있습니다.

당신은 보편적 인 해결책을 제안 할 수 있습니까 (Windows 및 Unix 유형 OS 용)?

미리 도움을 주셔서 감사합니다.

답변

0

다른 언어 : 대체는 사용하지 않는 Windows 기능 (모든 방법에서 PNSE가 발생 함)은 hereWindowsIdentity.*입니다. 임시 해결책은 project.json에있는 scripts 단면도 일 수 있고이 순간에 지금 리눅스와 OSX에 청결한 .Net 중핵에서 이것을 얻는 방법이기 때문에