是否可以使用小型 .NET 页面来设置其所在服务器上某些文件夹的文件夹权限?可用于此目的的代码或对象是什么?我使用的是 Windows Server 2003。
基本上我想使用 GET 或 POST 访问页面并运行它并检查和/或更新文件夹的权限。
有多种可能的方法可以解决这个问题。
一种是使用文件IO权限 http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx类,它允许您指定文件和文件夹的权限。
另一种选择是使用目录安全 http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.directorysecurity.aspx类内的系统.安全.访问控制 http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.aspx命名空间,特别是设置访问控制 http://msdn.microsoft.com/en-us/library/system.io.directory.setaccesscontrol.aspx该类的方法。
第二种方法应该为您提供更多的粒度和对权限设置的控制,因为 System.Security.AccessControl 命名空间允许您以编程方式创建或修改任意访问控制列表 (DACL) 和系统访问控制列表 (SACL) http://msdn.microsoft.com/en-us/library/ms229742.aspx适用于许多受保护的资源,例如文件、文件夹等。
无论您选择哪种方法来执行权限设置,您都需要注意运行 ASP.NET 驱动代码的帐户。您说您正在使用 Windows Server 2003,所以您可能正在使用IIS 版本 6.0 http://msdn.microsoft.com/en-us/library/ms525568.aspx。默认情况下,IIS 6.0将运行“网络服务 http://msdn.microsoft.com/en-us/library/ms684272%28VS.85%29.aspx“帐户,这是一个低权限帐户,在 IIS 进程和网站层次结构之外具有有限的权限。您可以阅读 MSDN 文章,“如何:使用网络服务帐户访问 ASP.NET 中的资源” http://msdn.microsoft.com/en-us/library/ms998320.aspx关于访问服务器端的资源以及您在此帐户下将拥有的具体访问权限。
根据您想做的事情的确切性质,您可能还需要研究ASP.NET 模拟 http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx使您的服务器端代码能够在不同帐户的上下文中运行。请参阅 MSDN 文章“如何:在 ASP.NET 2.0 中使用模拟和委托 http://msdn.microsoft.com/en-us/library/ms998351.aspx”了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)