¿Cómo se inicia un proceso de servidor COM como otro usuario (más privilegiada)

StackOverflow https://stackoverflow.com/questions/858227

  •  21-08-2019
  •  | 
  •  

Pregunta

Me gustaría crear un objeto COM que se ejecuta en un servidor fuera de proceso COM como otro usuario. ¿Cómo lo hago?

No tengo control sobre el código fuente del servidor COM y mi cliente COM es el único que va a crear estos objetos COM.

¿Fue útil?

Solución

Utilizamos COM + para ejecutar objetos como un usuario de red que tiene ciertos derechos que le han dado (la mayoría de autenticación de Windows a un servidor SQL.) Lo que esto no hace es controlar quién puede llamar a estos objetos a untilize la seguridad que han dado.

En Vista y el futuro, hay una capacidad de elevación de COM que hace exactamente lo que busca. Oh, parece que alguien acaba de publicar eso. Sigue el enlace que se fueron.

Otros consejos

¿Estás escribiendo esto para Vista? Si es así, se puede utilizar una invocación especial COM que se ejecuta el objeto COM en un estado elevado. Ver este artículo para más detalles.

Si usted no está hablando acerca de UAC, es posible que el pago y envío función CoInitializeSecurity .

Uso EjecutarComo - ver http: // MSDN .microsoft.com / es-es / library / ms680046 (VS.85) .aspx .

N.B. Este ajuste también se puede configurar mediante dcomcnfg (Win2000) o comexp.msc (WinXP +) en "Configuración DCOM"

Si el objeto se implementa como un servidor InProc, es posible combinar esto con un sustituto DLL (ver http://msdn.microsoft.com/en-us/library/ms691260 (VS.85) .aspx ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top