2008-09-23 33 views
3

從我從反射器收集的內容中,RunWithElevatedPriveleges只是將當前線程標識還原爲基本(非模擬)標識。這對於在WSS應用程序池內運行代碼的情況非常有用,因爲基本服務帳戶是超級用戶。在沒有模擬存在的情況下在外部(控制檯或服務)應用程序中運行時,它是否有效?我猜不是,但我想知道肯定。我從Google上看到了不同的意見。SPSecurity.RunWithElevatedPrivileges是否在控制檯應用程序中執行任何操作?

回答

3

正常情況下,RunwithelevatedPrivileges會讓您的代碼作爲應用程序池標識運行,但它不能從控制檯運行。我們在這種情況下完成的任務是使用runas或 a將計劃任務的標識設置爲與應用程序池標識相同的帳戶。

3

我認爲如果你在一個帳戶下運行可執行文件,然後用代碼(如SP)更改它的憑據,就會出現這種情況。否則,它不能提升它在啓動時沒有的權限,而無法以某種方式生成Credentials對象。

0

當HTTPContext爲null時,RunWithElevatedPriveleges不起作用。在控制檯中,HTTPContext爲null。

相關問題