我不明白什么 RevertToSelf() 在.NET应用程序中执行。检查MSDN定义,它读取定义为

The RevertToSelf function terminates the impersonation of a client application.

那么,当前的用户上下文是否通过停止客户端的上下文来改变Sysadmin上下文?通过调用ReverTtoSelf()我的代码会在SYS Admin模式下运行吗?

更新

好的,如果我在ASP.NET应用程序中调用ReverTtoSelf(),会发生什么?让我们认为我不开始任何模仿。因此,如果我调用ReverTtoSelf(),它会恢复到应用程序池标识吗?

有帮助吗?

解决方案

RevertToSelf 将终止您积极启用的任何模仿。您可以设置一个应用程序来冒充任何用户帐户。 RevertToSelf 除非您使用模仿,否则无效。打电话 RevertToSelf 只有作为管理员开始运行的应用程序,并且从配置为模仿另一个帐户的应用程序中,才能使您的代码作为管理员运行。

其他提示

几年前,我写了一本很小的 IDisposable- 调用类 模仿者 自动进行模拟/恢复(几乎)。

也许如果您看看,它会告诉您如何以及何时使用它?

它更改为在模仿之前运行应用程序的用户上下文。这不是必需的sysadmin。在这里阅读更多: http://msdn.microsoft.com/en-us/library/aa376391(v=vs.85).aspx

假设您有某个用户的凭据(即用户名和密码),则可以开始模仿并拨打在假冒用户的上下文中执行的Win32 API。因此,在调用ReverTtoSelf()之前,您将拥有所假冒的用户的访问权限,在这种情况下,您将恢复为最初启动代码的用户的访问权限。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top