2010-02-15 97 views
1

是否可以使用小的.NET頁面來設置它駐留的服務器上某些文件夾的文件夾權限?什麼是可用於此的代碼或對象?我在Windows Server 2003上。如何使用.NET設置文件夾權限?

基本上我想用GET或POST命中頁面,讓它運行並檢查和/或更新文件夾的權限。

回答

2

您可以使用FileIOPermission類來執行此操作。只要確保運行該網站的用戶具有執行所有安全設置的權限即可。

6

有幾種可能的方法來解決這個問題。

一種是使用FileIOPermissions類,它允許您指定文件和文件夾的權限。

另一種選擇是使用System.Security.AccessControl命名空間中的DirectorySecurity類,特別是該類的SetAccessControl方法。

第二種方法應該爲您提供更多的粒度和對權限設置的控制,因爲System.Security.AccessControl命名空間允許您以編程方式爲多個受保護資源(如文件,文件夾和文件夾)創建或修改discretionary access control lists (DACLs) and system access control lists (SACLs)等等。

無論您選擇執行權限設置的方法如何,您都需要注意您的ASP.NET驅動代碼正在運行的帳戶。你說你正在使用Windows Server 2003,所以你可能使用IIS version 6.0。默認情況下,IIS 6.0將運行「Network Service」帳戶下的所有用戶代碼,該帳戶屬於低權限帳戶,並且在IIS進程和網站層次結構之外的權限有限。您可以閱讀關於訪問服務器端資源的MSDN文章"How To: Use the Network Service Account to Access Resources in ASP.NET",以及您在此帳戶下的具體訪問權限。

根據您想要做的確切性質,您可能還需要查看ASP.NET Impersonation以使您的服務器端代碼能夠在不同帳戶的上下文中運行。有關更多信息,請參閱MSDN文章「How To: Use Impersonation and Delegation in ASP.NET 2.0」。