Page 1 of 2 1 2 LastLast
Results 1 to 15 of 17

Thread: Beveiligen webservice

  1. #1

    Beveiligen webservice

    Hallo,

    Wat is de gangbare manier om aanroepen naar niet publieke ASP.NET WebServices te kunnen controleren/beveiligen. M.a.w. hoe bepaal ik of de webservice de aanroep moet uitvoeren of niet. Inlog mechanisme via session gebruiken? Bij elke aanroep username+wachtwoord mee geven? Of zijn er andere oplossingen?

    Tom

  2. #2
    Supports INLDelphiMember Johan Stokking's Avatar
    Join Date
    Sep 2003
    Location
    Assen
    Posts
    649
    Je vraagt nu eigenlijk twee dingen tegelijk: hoe beveilig ik mijn webservice en hoe pas ik authenticatie toe op mijn webservice.

    Een gangbare manier van beveiliging is SSL gebruiken. Je roept dan je webservice aan met https ipv http. Het is dan voor sniffers onmogelijk om gegevens af te luisteren.

    Authenticatie kan op verschillende manieren. Je kunt in web.config gebruikers met wachtwoord definieren. Ik dacht, maar dat weet ik niet zeker, dat dit samenwerkt met de credentials die je vanuit Delphi mee kan verzenden m.b.v. THTTPRIO.

  3. #3
    die je vanuit Delphi mee kan verzenden m.b.v. THTTPRIO
    Is daar dan ook een .NET variant van? Of is dat de .NET variant?

  4. #4
    Supports INLDelphiMember Johan Stokking's Avatar
    Join Date
    Sep 2003
    Location
    Assen
    Posts
    649
    THTTPRIO is voor zover ik weet alleen Win32. Ik heb geen Delphi for .NET geinstalleerd. Gaat het hier ook om een Win32 of .NET client applicatie of enkel om de beveiliging van de beveiliging van de ASP.NET webservice?

    In Win32 kan je dus THTTPRIO gebruiken en hier een interface aan hangen die je m.b.v. WSDL Import (zie File -> New) gegenereerd hebt.

    Ik weet niet hoe Delphi.NET webservice consumers gemaakt moeten worden. Visual Studio genereert wrapper classes waarbij de credentials als property toegewezen kunnen worden. Wellicht dat iemand weet hoe dit precies onder Delphi.NET werkt.

  5. #5
    Wat ik eruit begrijp is dat er een beveiliging moet komen op de Webservice dat niet iedereen die zomaar mag/kan aanroepen.

  6. #6
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Voor .NET 1.1 zie Building Secure ASP.NET Applications, in jouw geval vooral hoofdstukken 10 en 4 (maar de rest ook ).
    All methodologies are based on fear. -- Kent Beck.

  7. #7
    Het gaat idd om Authenticatie. Iets concreter: ik wil met Delphi6(HTTPRio) een aantal in .NET geschreven webservices aan aanroepen. Aan de webservices moet nog een vorm van authenticatie mechanisme worden toegevoegd. Om te starten zal ik de hint van Dirk overnemen en me door de aanbevolen chapters worstelen.

  8. #8
    Het nadeel van de standaard methode kan zijn dat je tool het niet ondersteund.

    Wat ik bij een SMS server wel eens heb gezien was dat ik inderdaad moest inloggen via een gewone method. Van die method kreeg ik een GUID terug en bij het versturen van een SMS moest ik als één van de parameters die GUID weer mee terug sturen.

    Als je een webservice hebt met tientallen methods is deze methode niet echt een optie, maar met één method (SendSMS) is het een eenvoudige methode die je misschien veel uitzoekwerk bespaart.
    Marcel

  9. #9
    Senior Member
    Join Date
    Dec 2003
    Location
    Den Haag
    Posts
    210
    Bob Swart heeft in het december nummer van The Delphi Magazine een artikel geschreven over Webservices and Security. De tekst is alleen te lezen als je lid bent. De source code is vrij te downloaden. Mischien dat je daar ook al mee uit de voeten kunt.

    Groet,
    Erwin
    Last edited by Erwin; 31-Jan-06 at 00:22.

  10. #10
    Momenteel werk ik inderdaad met het hashen van de parameters en deze hash aan de procedure mee te geven en te controleren. Maar ik ben op zoek naar een 'mooiere' methode.

    Op het Artikel van Bob Swart is me oog ook al gevallen. Ik heb alleen niet gezien dat de sourcecode vrij te downoaden is. Ik heb nog niet uitgevonden of we lid zijn van The Delphi Magazine.

  11. #11
    Bob Swart drbob42's Avatar
    Join Date
    May 2004
    Location
    Helmond Brandevoort
    Posts
    514
    Hi Tommie,

    Je kan altijd de source code van m'n artikelen downloaden van de "tdm" pagina op m'n website. En als je problemen hebt, dan kun je me ook direct mailen als je wilt (lees ik soms sneller dan posts hier, sorry).
    Groetjes,
    Bob Swart

  12. #12
    Ik heb de sourcecode gevonden. Maar volgens mij staat er alleen maar .NET code in. Dat is natuurlijk wel één kant van het verhaal, maar het gaat mij meer om hoe deze(of andere) security methode in Delphi 6! aan de praat te krijgen is...

  13. #13
    Bob Swart drbob42's Avatar
    Join Date
    May 2004
    Location
    Helmond Brandevoort
    Posts
    514
    In het artikel staat ook de Win32 code (en die heb ik ook bij m'n sessie op de SDE laten zien). Ik zal eens zoeken of ik die nog op m'n laptop kan vinden. Stuur anders een privé mailtje om me te herinneren (het is nu vakantie hier, dus zie ik m'n laptop niet zo vaak deze week)...
    Groetjes,
    Bob Swart

  14. #14
    Very strange member
    Join Date
    Jul 2001
    Location
    Don't know...
    Posts
    264
    Ik begrijp 1 ding niet helemaal goed...

    Ik heb een 3 tier laag: een webapplicatie, een webservice en een database. Als je in de webapplicatie gegevens uit de database wilt hebben dan moet je hiervoor de webservice aanspreken. Afhankelijk van de rechten kun je gegevens al dan niet uit de database halen, dit wordt bepaald op basis van gebruikersnaam en wachtwoord. De controle hiervoor wordt uitgevoerd binnen de webservice. Ik zal dus bij elke functie aanroep door de client (de webapplicatie) een gebruikersnaam en wachtwoord moeten meegegeven. Maar kan ik deze gebruikersnaam en wachtwoord dan meegeven als credentials om deze vervolgens weer aan webservice kant weer uit te lezen?? Zo ja, op welke manier kan ik dit dan uitlezen?? Wat voor object moet ik hiervoor gebruiken??
    Last edited by Doki; 08-Nov-06 at 14:19.
    Learning is easy................if you believe in it................

  15. #15
    Very strange member
    Join Date
    Jul 2001
    Location
    Don't know...
    Posts
    264
    Ik heb inmiddels een oplossing gevonden... Weet niet of dit de beste is, maar werkt in ieder geval wel.

    Ik maak nu gebruik van een soap header waar ik de gebruikersnaam en wachtwoord in zet. Vervolgens leest de webservice deze gegevens uit middels een soap extension. Webapplicatie en webservice draaien beide onder SSL waardoor gegevens niet zomaar uit het soap bericht gevist kunnen worden. Dit lijkt me in ieder geval beter dan het gebruik van cookies of cookieless sessies.
    Learning is easy................if you believe in it................

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •