2012-04-16 118 views
0

我有一個需要編寫文本文件的Intranet應用程序。該文本文件需要位於網絡共享文件夾中。我正在通過UNC名稱「\\ fileserver \ subfolder \ TEST.txt」訪問它,當然還會遇到可怕的「訪問路徑被拒絕」錯誤。ASP.NET Intranet網站將文本文件寫入網絡文件夾

我的Intranet網站正在IIS 6上運行。我在Intranet上有另一個應用程序需要能夠使用Request.ServerVariables [「AUTH_USER」]訪問已登錄用戶的帳戶。我發現,如果我啓用對網站的匿名訪問,這將不起作用。我正在使用集成的Windows身份驗證。我能做些什麼來啓用對網絡應用程序的網絡共享文件夾的寫入訪問權限?我想我不能在不破壞我的其他應用的情況下使用模擬。我可以做一些事情,只是我的網站這部分(文件夾),不會影響我的其他應用程序?

我需要一步一步地在IIS和/或文件夾設置中爲網絡文件夾做什麼,我嘗試寫入以使其工作。

+0

在iis中,創建一個指向網絡共享的虛擬文件夾,並使用不同的憑據進行登錄。然後讓應用程序讀取/寫入該文件夾,該文件夾將被視爲本地文件夾。 – 2012-04-16 19:51:37

回答

0

有點黑客會模仿寫入文件的代碼部分。即您切換到具有足夠權限寫入文件的用戶。

有一個小Impersonator helper class,你可以用它來做到這一點像如:

... 
using (new Impersonator("myUsername", "myDomainname", "myPassword")) 
{ 
    ... 

    <code that executes under the new context> 

    ... 
} 

... 

這種方法的缺點是你的地方必須存儲的用戶名和密碼,在你的代碼,通過硬編碼或內例如你的web.config文件。從安全的角度來看,這兩件事情可能都不好。

+1

謝謝Uwe Keim。這讓我開始了正確的道路。 我試過在我的文件中使用這樣的代碼: – user1337091 2012-04-17 14:39:56

+0

@ user1337091不客氣:-) – 2012-04-17 14:45:25

相關問題