Avatar billede dennism Nybegynder
07. november 2008 - 20:40 Der er 11 kommentarer og
1 løsning

PHP: Speciel brugerlogin

Jeg har et system som er installeret på mine kunders website. Jeg overvejer en idé med at de skal kunne installere komponenter direkte fra systemet. Informationerne om komponenterne vil ligge i en mySQL-database på min eksterne server.

Da kunderne kun skal have adgang til at installere komponenter som de har købt, skal de på en eller anden måde logge ind på mit eksterne system, så mit system på en anden server kan afgøre, hvad de har rettigheder til at installere.
Normalt laver man jo brugersystemer ved at logge ind i mySQL-databasen og tjekke brugenavn og password i en tabel med brugere. Dette er dog ikke så hensigtsmæssigt i dette tilfælde, da jeg jo helst ikke vil have, at der i kildekoden på systemet skal ligge brugernavn/password til login på min eksterne server.

Findes der en måde, måske med noget HTTP Request eller SOAP, hvor man kan lave et lag mellem PHP og mySQL? Jeg forestille mig, at man kunne lave et request fra systemet med kundens brugernavn/password til den eksterne server. Den eksterne server tjekker i dens database om brugerne eksisterer - eksisterer de, får systemet en accept og en XML-fil med de informationer systemet skal bruge for at kunne installere komponenterne - f.eks. et link til en ZIP-fil.

En anden mulighed var også, at systemet forsøgte at logge direkte ind i mySQL-databasen på den eksterne server fra systemet selv - med brugernavn og password som brugeren indtaster. Dermed er kravet bare, at der oprettes mySQL-brugere på den eksterne serveren til alle kunderne. Er det den rigtige måde at gøre det på?

Jeg håber nogen kan komme med lidt tips/tricks på hvordan man normalt laver noget som dette?

På forhånd tak for hjælpen.
Avatar billede erikjacobsen Ekspert
07. november 2008 - 20:50 #1
Man er ikke for knøv hvis man lader en database være åben til omverdenen, med password flydende rundt omkring. Det gør man ikke. Og det har du opdaget.

Du har også opdaget hvad man skal gøre i stedet for, og du er ikke den eneste: det hedder en webservice (med login)
Avatar billede dennism Nybegynder
07. november 2008 - 23:46 #2
Hvordan udbyder jeg så en webservice med login? Er det, som jeg sagde, SOAP eller HTTP Request jeg skal have fat i?
Avatar billede erikjacobsen Ekspert
08. november 2008 - 08:23 #3
Det er nok SOAP, med mindre du vil alt selv fra bunden ;)  http://dk2.php.net/manual/en/refs.webservice.php
Avatar billede dennism Nybegynder
08. november 2008 - 10:17 #4
Kan du give mig lidt stof på hvordan jeg laver nogen i den anden ende, som kan besvare mine SOAP-kald?
Avatar billede dennism Nybegynder
08. november 2008 - 10:18 #5
..det er lige meget om det er noget som skal laves i Java - det må det gerne være, hvis det er nemmest?
Avatar billede erikjacobsen Ekspert
08. november 2008 - 10:48 #6
Java? Jeg har ikke noget liggende. Google er din ven, siger de. Det vigtigste for dig bør være at eksperimentere med webservices, for at se om det giver mening i dit projekt.
Avatar billede dennism Nybegynder
08. november 2008 - 10:59 #7
Ja, skal man ikke have programmeret en server som skal svare på de SOAP-kald som klienterne laver? Lidt som at lave en webserver der modtaget et request og sender noget tilbage igen? Det har jeg tidligere lavet, men kan jo nok ikke bruges til noget i denne sammenhæng, da det jo er en helt speciel syntakt der skal gælde for HTTP-requests. Men tænkte at der var en lignende syntaks for et SOAP kald..nå, men det må jeg prøve at finde noget om på google.
Avatar billede erikjacobsen Ekspert
08. november 2008 - 12:14 #8
En web-"service" er bare et PHP-script, der afleverer noget XML i stedet for HTML. Det skal de der SOAP-metoder nok klare for dig. Du finder bare et eksempel at arbejde videre med, ik'?
Avatar billede dennism Nybegynder
10. november 2008 - 23:38 #9
Jeg har lidt problemer med at gennemskue hvordan jeg får lavet en WSDL-fil. Er det noget du skal sige et par ord om? :)
Avatar billede dennism Nybegynder
08. december 2008 - 23:08 #10
Vil du smide et svar?
Avatar billede erikjacobsen Ekspert
08. december 2008 - 23:14 #11
Ingen point til mig, tak.  Generelt lader man sit værktøj om at lave en WSDL-fil. Jeg har et par gange skrevet en selv. Kedeligt, og måske lidt sværere end at udfylde sin selvangivelse.
Avatar billede dennism Nybegynder
08. december 2008 - 23:48 #12
Hah :)


.lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester