Toon posts:

http authenticatie -> inloggen ok, maar uitloggen?

Pagina: 1
Acties:
  • 190 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoe kan je met http authenticatie uitloggen (door bijv. op een knop te drukken) zodat je daarna opnieuw je naam en ww moet intikken? Ik heb van alles geprobeerd met extra variabelen etc, maar het werkt gewoon niet...Elke keer krijg ik die popup dan weer
Iemand die al iets dergelijks voor mekaar gekregen heeft?
Het lijkt erop dat IE z'n cache niet leegt op het moment dat jij een nieuwe header stuurt ofzo

  • tomato
  • Registratie: November 1999
  • Niet online
Ik heb HTTP Authenticatie nog nooit gebruikt (heb m'n eigen systeempje in elkaar gezet), maar ik geloof dat uitloggen daarbij niet kan. Er wordt dan pas 'uitgelogd' als de browser afgesloten wordt, best wel irritant.

Verwijderd

Topicstarter
Klopt, maar je kan bijv. wel opnieuw de authenticatie header sturen zodat je opnieuw moet inloggen en dat lukt ook wel (met zoiets als 'if(logout=true)') maar op een of andere manier blijft logout op true staan terwijl ik hem unset of een andere waarde geef :( Zodat het login schermpje dan blijft komen...
Lijkt erop dat na het inloggen de pagina weer gereload wordt (dus logout weer op true komt te staan) of zoiets iig...

Verwijderd

Met de http authenticatie van Apache is het inderdaad niet mogelijk om even simpel uit te loggen. Daar zijn al heel wat forums mee volgegooid: suggesties, opties, vragen problemen etc.etc.
Het probleem is dat je de environmental variabelen $PHP_AUTH_USER en $PHP_AUTH_PASSWD (oid) niet zomaar kunt unsetten....dat kan alleen door je browser af te sluiten..

Wat je zou kunnen doen is je authenticatie via de session functionaliteit van PHP4 te regelen, of gewoon via cookies...
ik heb zelf ook ooit wel eens zitten brainstormen, maar ik heb geen tijd gehad om het eens uit te proberen en wat ik bedacht had ben ik alweer grotendeels vergeten.
Het kwam eigenlijk hierop neer:
- Als iemand inlogt via de Apache manier, worden die 2 PHP env variabelen geset.
- Tegelijk stop je die vars ook in een DB.
- op elke pagina waarop geauthenticeert moet worden check je die environmental vars ($PHP_AUTH_USER en ~PASSWORD) EN die in je DB.
- Als iemand uit wil loggen, druktie op een knop en worden die variabelen in de DB weggehaald. Er kan niet meer op die pagina's worden gekeken zonder opnieuw te authenticeren.

Zoiets was het....er zitten alleen nog wel een hoop haken en ogen aan!!

Verwijderd

Topicstarter
Daan > Dat is idd wel een oplossing ja, maar wel omslachtig...Dat je die PHP_AUTH_USER niet kon unsetten kwam ik ook achter, vreemd dat er niet gewoon een functie voor is ofzoiets...
Sessies zijn ook een mogelijk, maar omdat php4 (nog) niet overal ondersteunt wordt nog niet een optie..
In ieder geval bedankt, ik ga d'r maar eens mee speulen :)

Verwijderd

Dat kan wel. Dan moet je een uitlog functie schrijven die altijd een 404 geeft. Dan worden die username+password variabelen uit de cache van de browser gegooid.

Verwijderd

Ja, ok, maar dan krijg je zo'n (lelijk?) 'Authentication failed. Retry?' windoowtje.

Laten we het zo zeggen, er is geen NETTE manier om uit te loggen. En zo'n auth failed popup vinnik nie netjes.

Je moet een windoowtje krijgen met 'You are now logged out' ofzo..
Maar ik vindt het raar dat het niet voor elkaar te krijgen is dat je die variabelen niet met de hand kan unsetten, ik bedoel, hoe moeilijk is het om dat voor elkaar te krijgen. Dan zijn er gelijk weer een hoop zorgen de wereld uit.....
Pagina: 1