ASP.NET 若需用非預設帳號執行,必須妥善設定相關權限

在 IIS 中,應用程式集區使用的身份識別為 Network Service,而 ASP.NET 應用程式預設的執行權限也是這個身份,當我們需要以非預設的權限執行 ASP.NET 時通常有兩種作法:1) 修改 應用程式集區的身份識別、2) 設定 web.config 中的 <identity> 參數。

針對第一種狀況,除了要參考我另一篇【IIS應用程式集區自訂身份識別後如何讓 ASP.NET 正常執行】文章之外,在該文章「備註二」,可以替換成以下指令:

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
aspnet_regiis -ga User1

在 aspnet_regiis /? 所輸出的說明是

-ga <user>     針對 ASP.NET 所使用的 IIS Metabase 和其他目錄,授與指定的使用者或群組存取權限。

也就是說,只要利用 aspnet_regiis.exe 就可以幫我們設定完所有該設定的權限,不需要額外手動調整。

而第二種狀況,就是修改 web.config 中的 <identity> 參數,如下範例:

<identity impersonate="true" userName="User1" password="MyPassW0rd"/>

若要透過這種方式運作 ASP.NET 一樣會遇到許多權限不足的情況,建議也是透過 aspnet_regiis 幫你設定相關權限即可。

相關連結

  

此文章由 will 發表於 2009/6/29 下午 11:47:23

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET | IIS

標籤: , , , , ,

收藏: