我的DBA要求通過受信任的域帳戶完成所有數據庫訪問。這可以通過設置web.config來完成。這要求用戶登錄或在域上爲IE傳遞憑證。我想通過使用代碼來模擬用戶。我使用這個知識庫文章中找到的代碼:在Asp.Net中模擬用戶
http://support.microsoft.com/kb/306158
它的偉大工程,我傳遞的憑據,模仿用戶,然後撥打電話到數據庫並返回數據。
問題是如果我去另一個頁面,我失去了我的模擬憑據。這意味着每次我調用數據庫時都必須運行模擬代碼。
如果IIS可以模擬所有頁面的域用戶,那麼爲什麼我在使用代碼時不能模擬用戶?
它似乎是與線程上下文切換的東西。我曾嘗試在Aspnet.config文件中設置alwaysFlowImpersonatingPolicy,但它不起作用。
http://msdn.microsoft.com/en-us/library/ms229553.aspx
什麼建議嗎?是否有可能做我想做的事?
「問題是如果我去另一個頁面」..這意味着它是一個新的頁面請求。 iis可能會使用不同的線程從池中執行新的頁面,並且它不會有任何舊的上下文信息.. – 2008-09-25 00:10:07