2017-01-11 3 views
0

私のユニットテストプロジェクトでは、.NETコア用にフォルダを作成してアクセス権を制限しようとしています。.NET Core - ディレクトリアクセス許可Linux

は、これまでのところ、私はこのコードのWindowsのバージョンを実装:

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は、Unix系OS上で動作しません。 他の機能が互換性がないかどうかはわかりません。

汎用ソリューション(WindowsおよびUnixタイプのOS用)を提案できますか?

ご協力いただきありがとうございます。

答えて

0

気に入っているようにhereWindowsIdentity.* APIは他のシステムでは置き換えられないWindows機能です(すべてのメソッドがPNSEを投げます)。一時的な解決策はscriptsセクションでproject.jsonまたは自己スクリプトである可能性があります。この時点でLinuxとOSXのクリーンな.Netコアでこれを取得する方法があるため

関連する問題