Lo que es RevertToSelf ()? - C # .NET
-
12-10-2019 - |
Pregunta
No entiendo lo que hace RevertToSelf()
en una aplicación .NET. Comprobación de MSDN definición se lee como la definición
The RevertToSelf function terminates the impersonation of a client application.
Lo mismo ocurre con los actuales cambios en el contexto de usuario a un contexto administrador de sistemas de detener el contexto del cliente? Llamando RevertToSelf () lo hará mi código se ejecutan en modo de administrador del sistema?
Actualizar
Bueno por lo qué ocurre si lo llamo RevertToSelf () en una aplicación ASP.NET? Consideremos que no comienza ninguna suplantación. Así que si llamo RevertToSelf () va a volver a la identidad del grupo de aplicaciones?
Solución
RevertToSelf
terminará cualquier suplantación que ha habilitado de forma activa. Es posible configurar una aplicación para suplantar a cualquier cuenta de usuario. RevertToSelf
no tiene ningún efecto a menos que esté utilizando la suplantación. Llamando RevertToSelf
sólo obtendrá su código para funcionar como un administrador, si la aplicación es era para que se ejecute como administrador para empezar, y fue desde dentro de la aplicación configurada para suplantar a otra cuenta.
Otros consejos
Hace algunos años que he escrito una pequeña clase IDisposable
-implementación llamada Imitador hacer la suplantación / revertion (casi) automáticamente.
Tal vez si se echa un vistazo, que le dirá cómo y cuándo usarlo?
Cambia al contexto del usuario que ejecutó la aplicación antes de suplantación. No es necesario administrador de sistemas. Lee más aquí: http://msdn.microsoft. com / es-es / library / aa376391 (v = vs.85) .aspx
Asumiendo que tiene credenciales (es decir. De usuario y contraseña) de un usuario determinado, puede comenzar suplantación y hacer llamadas a la API de Win32 que se ejecutan en el contexto del usuario suplantado. Por lo que tendrá los derechos de acceso del usuario que está suplantando, hasta que llame RevertToSelf (), en cuyo caso se volverá a los derechos de acceso del usuario que originalmente puso en marcha el código.