我不明白。RevertToSelf()
在.net应用程序中的作用。检查MSDN定义,它将定义读为
The RevertToSelf function terminates the impersonation of a client application.
当前用户上下文是否通过停止客户端的上下文而更改为sysadmin上下文?通过调用RevertToSelf(),我的代码将在sys admin模式下运行吗?
更新
好的,如果我在ASP.NET应用程序中调用RevertToSelf()会发生什么?让我们考虑一下我不会开始任何模仿。所以如果我调用RevertToSelf()它会恢复到应用程序池标识吗?
答案 0 :(得分:8)
RevertToSelf
将终止您已主动启用的任何模拟。您可以将应用程序设置为模拟任何用户帐户。除非您使用假冒,否则RevertToSelf
无效。调用RevertToSelf
只会使您的代码以管理员身份运行,如果应用程序最初是以管理员身份运行的,并且来自配置为模拟其他帐户的应用程序。
答案 1 :(得分:2)
几年前,我写了一个很小的IDisposable
- 实现了一个名为Impersonator的类来自动模拟/恢复(几乎)。
也许如果你看一下,它会告诉你如何以及何时使用它?
答案 2 :(得分:0)
它会更改为在模拟之前运行应用程序的用户的上下文。系统管理员没有必要。在此处阅读更多内容:http://msdn.microsoft.com/en-us/library/aa376391(v=vs.85).aspx
答案 3 :(得分:0)
假设您拥有某个用户的凭据(即用户名和密码),您可以开始模拟并调用在模拟用户的上下文中执行的Win32 API。因此,您将获得您模拟的用户的访问权限,直到您调用RevertToSelf(),在这种情况下,您将恢复为最初启动该代码的用户的访问权限。