[SOAP/PHP] Login vereist

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04 09:02
Heren,
Ik ben bezig een soapserver op te zetten met de hulp van nuSoap. Opzich wilt het wel lukken, ik wil alleen dat mensen moeten authorizen wie ze zijn dmv een user en password. Voordat ze ook maar een request kunnen doen moeten ze ingelogd zijn.

Mijn vraag is nu hoe ik serverside kan opslaan als iemand ingelogd is. Het controleren van de login werkt al wel, dan geeft hij netjes een 'true'-response terug. Maar nu moet hij het ook ergens onthouden, hoe doe ik dat? Ik heb al iets met die wsdl-headers geprobeerd maar dat wilde niet helemaal lukken.

Alvast dank.

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 17:55
Kun je dit niet gewoon in je sessie oplossen?

Acties:
  • 0 Henk 'm!

  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04 09:02
Ik zal eens proberen... maar is dat wel veilig genoeg?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Waaom zou dat niet veilig genoeg zijn dan? Al die gegevens staan op de server en niet op de client.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Ik ben niet zo'n webdevver, maar vervalt zo'n sessie niet op 't moment dat de client de verbinding met de server verbreekt? En het leuke van webservices is, dat die client dat meestal na iedere SOAP response doet...

Ik los 't bij m'n webservices op door 1 method Login toe te voegen, en als de login succesvol is, geeft de webservice een unieke ConnectionID terug (ik gebruik gewoon GUIDs). Die ID wordt samen met een timestamp en wat extra user info opgeslagen in de database.
Alle andere method calls van de webservice moeten voorzien zijn van een geldige ConnectionID, en die moet nog niet verlopen zijn (timestamp wordt bij iedere call naar de webservice bijgewerkt), anders geeft 'ie gewoon een error terug.

En zo nu en dan poets ik de verlopen ID's uit de database... :)

[ Voor 4% gewijzigd door Verwijderd op 06-07-2006 21:28 ]