[Delphi] DCOM toegang geweigerd,test server van MS werkt wel

Pagina: 1
Acties:

  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Ik heb een probleem met delphi en DCOM. Ik heb een client/server applicatie in delphi onder windows xp dat met DCOM communiceert. Als ik de server wil aan spreken in mijn client met de aanroep CoAppMenu.CreateRemote(‘het_ip_nummer_van_de_server’) krijg ik de melding: toegang geweigerd. Dit na wat uitpluizen ligt aan de rechten instellingen van mijn dcom gebeuren aan de server kant. Ik heb toen het volgende test programma geprobeerd van MS en dat werkt wonderbaarlijk wel zonder enige rechten aanpassing:

http://support.microsoft....aspx?scid=kb;EN-US;259011

Ik dacht slim te zijn door mijn server programma te hernoemen(ook de GUID’s goed gezet) naar die test server van MS. Dit werkt nu wel zolang ik de bijbehorende test client van MS gebruik om mijn server aan te roepen. Als ik dat weer mijn eigen client wil gebruiken krijg ik weer dezelfde melding.
Waar kan het in de client aan liggen?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Rechten, rechten en nog eens rechten. :) Gebruik DComCfg om die in te stellen op de Server. Het maakt het ook een stuk makkelijker als beide computers en gebruikers in het zelfde NT domein zitten. Tis lastig, maar het blijft een kwestie van instellen.

We adore chaos because we like to restore order - M.C. Escher


  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Maar waarom kan de test client van MS wel mijn server opstarten en mijn zelf gemaakte client niet?Daaruit blijkt dat de rechten dan wel goed zijn. Moet je ook rechten per client programma zetten in dcomcfg? Dat lijkt me sterk..

Verwijderd

tyball schreef op 22 oktober 2003 @ 09:33:
Maar waarom kan de test client van MS wel mijn server opstarten en mijn zelf gemaakte client niet?Daaruit blijkt dat de rechten dan wel goed zijn. Moet je ook rechten per client programma zetten in dcomcfg? Dat lijkt me sterk..
Sterker nog, je dient rechten per klasse in te stellen; daarbij zijn 3 niveau's aan te geven: Launch, access en configuration permissions.
Tip: activeer de interactive user als je over het internet met DCOM wilt werken, gooi alle permissies open, zet je security zo wijd mogelijk open en kijk of het werkt, werkt het dan ga je stapje voor stapje je security dichter draaien en kijk je of het nog werkt. Pas hierbij wel goed op dat je je security niet te wijd open laat staan. Binnen een domein gaat het idd. een stuk makkelijker.

Oh ja, nog iets: DCOM is een verschrikkelijk iets met NA(P)T (bij routers) enzo. Als ik jou was zou ik serieus over SOAP of iets dergelijks gaan nadenken aangezien dit vele malen makkelijker is te installeren en configureren. Echt dat DCOM is niet leuk om te doen, MTS is overigens beter (COM+).

  • tyball
  • Registratie: December 2000
  • Laatst online: 31-07 14:32
Ja maar die rechten die je kan zetten per klasse in dcomcfg gaan toch alleen over de server klassen en niet over de client klassen die iets wel of niet mogen?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan daar instellen wie (gebruiker op de client computer) gebruik mogen maken van wat (server). Bij COM+ kan je het zelfs instellen op functie niveau. Er zijn onwijs veel security related instellingen in dcomcnfg die invloed kunnen hebben. Het is moeilijk om goed te configureren, maar dat verklaard toch alles? Overgens moet je ook aan de client kant de rechten instellen als je gebruik maakt van een callback interface (de server kan de client aanroepen).

Zoals hvdberg zegt zou ik eerst een alles zo wijd mogelijk open zetten en in een domein gaan testen.

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1