Heeft iemand wellicht een oplossing voor de volgende situatie:
Ik heb een site die zwaar leunt op jQuery aan de front-end en php aan de back-end.
De back-end controleert de AUTH_USER en AUTH_PW en indien dit niet wordt meegestuurd, knalde dat ding een 401 header terug, waarna de browser zelf zijn login pop toonde. Dit werkte ideaal, maar die popup is natuurlijk maar 'zo-zo'.
Wat ik wilde is een eigen login popup maar aan de back-end wil ik niet met sessies werken. Het auth_user/pw verhaal moet dus wel de basis van de controle blijven.
Ok, als ik nu vanaf de main page een ajax call naar de backend doe zijn 2 3 vars niet gevuld, de back-end detecteerd dat en stuurt een error terug. Op basis van die error pop ik een window op het scherm om in te loggen, ik bewaar de username/password en de volgende keer dat ik die ajax call uitvoer geef ik die 2 vars mee.
Dit werkt allemaal perfect, maar dat komt omdat die username/password in 2 javascript variabelen worden bewaard. Op het moment dat je het scherm met F5 vernieuwt, moet je dus weer opnieuw inloggen. Dat hoeft niet wanneer ik (zoals in de oude situatie) gebruik maar van de browser popup.
In principe is dit ook wel logisch om het ajax verhaal een 'nivo' lager ligt dan de pagina in de browser. Nu zoek ik een manier om die username/password via de hoofdpagina alsnog naar de back-end door te sturen.
Eigenlijk zoiets zoals ftp://username:password@www.domein.nl, maar dit werkt helaas niet met http: :(
Iemand een idee?
- jQuery + Basic Authentication
-
12-10-2012, 15:54 #1
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
jQuery + Basic Authentication
-
In de schijnwerper
-
14-10-2012, 13:12 #2
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: jQuery + Basic Authentication
Je zou toch ook gewoon GET variabelen in de URL mee kunnen sturen en die dan uitlezen via je javascript?
-
14-10-2012, 13:35 #3
- Berichten
- 400
- Lid sinds
- 14 Jaar
Re: jQuery + Basic Authentication
Misschien iets doen met .htaccess ??
-
14-10-2012, 13:58 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: jQuery + Basic Authentication
Ik denk dat je er hoe dan ook niet uit gaat komen zonder ze telkens mee te sturen, die dingen moeten dan hoe dan ook ergens opgeslagen worden. Al eens gedacht aan jQuery-Cookie? Dat je op het moment dat iemand een bepaalde username/password meestuurd je een cookie maakt welke je vervolgens in je ajax-call eerst probeert op te halen in plaats van de login popup tonen?
Bij foute data return je de error zoals je nu al doet en anders kun je de call normaal gesproken probleemloos uitvoeren lijkt me? Zolang de pagina niet ververst wordt is er geen probleem, maar als je ververst zul je hoe dan ook ergens de gegevens moeten meesturen.
Als je ze perse geen cookies/sessies wilt gebruiken, kun je altijd nog de cookies unsetten zodra de pagina geladen is en een page refresh opvangen zoals hieronder staat, op het moment van refresh plaats je nog heel even vlug een cookie/sessies en na de refresh vang je die op en verwijder je de data weer (uiteraard eerst even in een javascript variabel opslaan om ze zo nogmaals te kunnen setten voordat iemand refreshed)
window.onbeforeunload = function() {
return "Are you sure you wish to leave the page?";
}
-
14-10-2012, 14:42 #5
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: jQuery + Basic Authentication
Dingen zoals koekjes en sessies wilde ik voorkomen. Het zal uiteindelijk wel zoiets worden maar ik was een benieuwd of het mogelijk was om de browser zo gek te krijgen dat ie zelf de auth headers gaat sturen maar geen popup toont (zoals bv, ná de login pagina), maar dat vreet ie helaas (nog) niet.
-
14-10-2012, 15:01 #6
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: jQuery + Basic Authentication
Vanaf jQuery 1.5 is het mogelijk om de headers in het request mee te sturen:
$.ajax({
url: "/test",
headers: {"X-Test-Header": "test-value"}
});
Weet niet of je hier wat mee kunt? Dan zul je hooguit via javascript (of indien onmogelijk via PHP) een setje headers moeten terugkrijgen na het autoriseren van de gebruiker. Via cURL lijkt me dan wel een optie (tegelijkertijd met het inlogen een cURL request sturen met de login parameters en de headers opvangen en in je javascript dumpen).
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic