顯示具有 WCF 標籤的文章。 顯示所有文章
顯示具有 WCF 標籤的文章。 顯示所有文章

2010年7月21日 星期三

探討ASP.NET Run Account

會寫這篇文章是因為最近使用WCF 呼叫 COM object的時候遇到了權限的問題。原本我一直以為WCF host on IIS的時候,他的Run Account就會和ASP.NET的設定一樣,由於我原本所撰寫呼叫的COM object使用WCF host在IIS上的時候,一直出現奇怪的錯誤(看不出來是權限問題),但是host在console ap or windows service上面都是OK的,所以我還是直覺是Run Account的問題。為了解決這個問題我才知道WCF的Run Account並不是跟ASP.NET的設定一樣,而是直接聽命於Application pool的Run Account。底下做了一些實驗(PS:先確定ASP.NET的authentication mode為windows)。

實驗一:預設的Run Account (新增一個aspx的頁面,並於加入底下程式碼)
protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    }
上面的程式碼執行結果如下
 由上圖可知,預設為NETWORK SERVICE的帳號在執行asp.net的頁面