impersonating在asp.net中的變換

來源:互聯網
上載者:User

我們都知道在asp.net裡可以impersonating,最常用就是在IIS裡設定對anonymous訪問的impersonating.在這裡我只是想說,在設定了anonymous訪問的impersonating後,在你的程式裡並不是所有的地方都是用這個帳戶去進行許可權訪問的。

 

舉個例子,我需要在程式的根目錄下建立並寫一個記錄檔(比如c:\MyDotNet\MyApp1\myapp1.log),而anonymous impersonating我設定為localhost\testaccount。於是在global.aspx.cs中

protected void Application_Start(Object sender, EventArgs e)
{
             // open the log file
             String path = Server.MapPath("") + "\\myapp1.log";            
             TextWriter file = new StreamWriter(path, true);
}


你認為asp.net會用哪一個帳戶去建立myapp1.log檔案呢?是localhost\testaccount嗎?不是的,系統用的是你的application隸屬的那個application pool的帳戶,預設的default applicatoin pool的帳戶是network service.

所以,如果要讓上面的程式段運行,你要讓network service帳戶對c:\MyDotNet\MyApp1\有寫入權限。

對所有在Page中啟動並執行代碼,系統將使用localhost\testaccount帳戶。(global.aspx.cs不屬於Page)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.