我需要使用C#给文件夹"Temporary ASP.NET Files"授予写入权限... 我使用以下代码进行访问
DirectoryInfo d1 = new DirectoryInfo(Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "Temporary ASP.NET Files"));
DirectorySecurity md1 = d1.GetAccessControl();
string user_1 = fa.TextGuestDomain + "\\" + fa.TextGuestUser;
md1.AddAccessRule(new FileSystemAccessRule(user_1, FileSystemRights.FullControl,InheritanceFlags.ObjectInherit,PropagationFlags.InheritOnly, AccessControlType.Allow));
d1.SetAccessControl(md1);
在我实施代码后,当我检查“Temporary ASP.NET Files”文件夹的安全属性时,它没有勾选“写入”权限复选框,而是勾选了“特殊权限”... 我已经注意到,即使我将访问权限从写入更改为完全控制或读取,它仍然会勾选“特殊权限”的复选框...
这不是问题 :),问题是它没有给予我所赋予的正确访问权限... 当我赋予它写入权限时,它不像有写入权限一样运作。我不知道为什么!!我做错了吗?
注意:手动进行时可以正常工作,但使用编码方式时不能正常工作...
希望你能帮助我解决这个问题...
非常感谢!
C:\Program Files\Unity\Hub\Editor\2019.4.20f1\Editor
中,使用了相同的脚本,但修改了不创建目录的部分。我得到了以下错误:错误:System.UnauthorizedAccessException:尝试执行未经授权的操作。 于 System.Security.AccessControl.NativeObjectSecurity.RaiseExceptionOnFailure (System.Int32 errorCode, System.String name, System.Runtime.InteropServices.SafeHandle handle, System.Object context) [0x00024]
- blongho