Como faço para iniciar um fora do processo servidor COM como outro usuário (mais privilegiado)

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

  •  21-08-2019
  •  | 
  •  

Pergunta

Eu gostaria de criar um objeto COM que é executado em um fora do processo servidor COM como outro usuário. Como posso fazer isso?

Eu tenho controle sobre o código fonte do servidor COM e meu cliente COM é o único que estará criando esses objetos COM.

Foi útil?

Solução

Nós usamos COM + aos objetos executado como um usuário da rede que tem certos direitos que lhe deram (mais de autenticação do Windows para um servidor SQL.) O que isto não faz é controlar quem pode chamar esses objetos para untilize do que segurança ter dado.

No Vista e no futuro, há uma capacidade de elevação COM que faz exatamente o que você está procurando. Oh, parece que alguém só postou isso. Siga o link que eles deixaram.

Outras dicas

Você está escrevendo isso para o Vista? Se assim for, você pode usar uma invocação COM especial que executa o objeto COM em um estado elevado. Consulte este artigo para mais detalhes.

Se você não está falando sobre o UAC, você pode fazer o checkout da função CoInitializeSecurity .

Use RunAs - veja http: // MSDN .microsoft.com / en-us / library / ms680046 (VS.85) .aspx .

NB. Esta configuração também pode ser configurado por meio de dcomcnfge (Win2000) ou comexp.msc (WinXP +) sob "DCOM configuração"

Se o objeto é implementado como um servidor InProc, você pode combinar isso com um substituto DLL (veja http://msdn.microsoft.com/en-us/library/ms691260 (VS.85) .aspx ).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top