7
MSDN說如果RevertToSelf()失敗,程序應立即終止,因爲否則它會繼續運行在被模擬的客戶端名稱上,這是不合適的。現在假設我做ImpersonateSelf()失敗後RevertToSelf()是否會致命?
ImpersonateSelf(SecurityImpersonation);
,並調用成功,然後我打電話RevertToSelf()
,後者失敗。線程繼續以當前進程的權限運行。它也是非常糟糕的?
這似乎是不可能失敗的功能之一。我能想到的唯一的失敗場景就是在模擬你自己之後(儘管我懶得去嘗試)在DACL中拒絕線程(或進程?)的「Set Thread Token」權限。關於模仿的事情是它影響線程嘗試訪問的所有內容。我可能會認爲,在「不可能」和採取預防措施的意義上,嚴重失敗是嚴重的(儘管假扮和冒充你自己之間可能沒有實際區別)。 – Luke