ASP.NET – 在应用程序外部读取和写入文件系统
有没有办法在当前的ASP.NET应用程序之外访问文件系统,而无需提供IIS_IUSRS
权限? 例如,如果我想要这条线工作:
logStream = File.Open("C:logsapp.log", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
…我通常必须向C:logsapp.log
授予对IIS_IUSRS
组的读/写权限。 这使得在新系统上设置应用程序变得很烦人,其中需要访问的目录可以位于不同的位置。 有没有办法告诉ASP.NET它应该访问哪些目录?
你可以使用模仿来做到这一点,但我会敦促你不要这样做。 就安全性而言,你正陷入风险很高的领域。 如果您不是100%确定您正在冒充的身份的访问权限,那么您将面临允许黑客访问您不想要的服务器区域的真正风险。 正确设置ACL非常耗时,您不希望仅使用管理员或超级用户。 您需要专门为此目的设置一个用户,如果您正在这样做,那么您只需向您正在执行的操作添加一个步骤。
更好的解决方案是将应用程序设计为写入应用程序控制的文件夹。 您的安装可以在计算机上创建文件夹并自动授予权限,而不是依赖于现有的系统文件夹。
https://msdn.microsoft.com/en-us/library/ms998258.aspx#pagguidelines0001_impersonationdelegation
您还可以将AppPool设置为在具有相应凭据的帐户下运行。
上述就是C#学习教程:ASP.NET – 在应用程序外部读取和写入文件系统分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953034.html