Het doel
Ik wil een loginsysteem dat mij bij meerdere sites op meerdere domeinen inlogt. Dus, als ik inlog op domein1.nl ben ik ook ingelogd op sub.domein1.nl en domein2.nl. Om het probleem nog groter te maken zijn het allemaal bestaande webapplicaties die niet zomaar grondig te verbouwen zijn.
De bedoeling hiervan is ons gebruikersbeheer makkelijker maken, nu moeten we per applicatie een login aanmaken en dan kunnen we het allemaal centraal regelen.
Het probleem
Er zijn natuurlijk verschillende mogelijkheden om een login te bakken. Een veelgebruikte manier is sessions icm cookies. Het probleem daarmee is dat je door het Sandbox model alleen cookies uit kan lezen die bij het domein horen. Subdomeinen (sub.domein1.nl) zijn niet zo'n probleem, je kan een cookie zo maken dat hij voor het hele domein geld, dus ook de subdomeinen, maar domein2.nl kan er dan natuurlijk nog niet bij.
Je kan natuurlijk server-side iets opslaan in de database zodat je daar geen last van hebt, maar je hebt client-side toch echt iets nodig om je login te controleren. Cookies (practisch de enigste mogelijkheid) vallen daarvoor al af.
Mogelijk oplossingen
Ik heb wel wat dingetjes bedacht:
De search?
Ik heb natuurlijk even gezocht. Dat levert wel wat topics op, geen oplossing. Google komt ook voornamelijk met ideeën voor nieuw te ontwikkelen dingen, en over het algemeen zijn het ook geen sluitende oplossingen. Ze zijn ook weer ranzig, of zeer lastig te implementeren in bestaande applicaties.
De mogelijkheden
In principe kan ik vrij veel doen op de server met cronjobs en databases, daar hoeven dus niet echt problemen te liggen. Waar ik wel toe beperkt ben is PHP voor het server-side spul: ASP is niet beschikbaar op de server en van de overige talen is mijn kennisniveau dusdanig laag dat ik daar geen loginsysteem mee ga maken. Als het even kan moet het dus wel een oplossing zijn die in PHP is te maken. Ook is het gewoon allemaal shared hosting, rare PHP modules/plugins zijn dus niet echt mogelijk.
De vraag
Wie weet er dus nog een betere oplossing die vrij eenvoudig toe te voegen is aan de bestaande applicaties? Wat zetjes in de goede richting kunnen me waarschijnlijk gigantisch helpen
.
Ik wil een loginsysteem dat mij bij meerdere sites op meerdere domeinen inlogt. Dus, als ik inlog op domein1.nl ben ik ook ingelogd op sub.domein1.nl en domein2.nl. Om het probleem nog groter te maken zijn het allemaal bestaande webapplicaties die niet zomaar grondig te verbouwen zijn.
De bedoeling hiervan is ons gebruikersbeheer makkelijker maken, nu moeten we per applicatie een login aanmaken en dan kunnen we het allemaal centraal regelen.
Het probleem
Er zijn natuurlijk verschillende mogelijkheden om een login te bakken. Een veelgebruikte manier is sessions icm cookies. Het probleem daarmee is dat je door het Sandbox model alleen cookies uit kan lezen die bij het domein horen. Subdomeinen (sub.domein1.nl) zijn niet zo'n probleem, je kan een cookie zo maken dat hij voor het hele domein geld, dus ook de subdomeinen, maar domein2.nl kan er dan natuurlijk nog niet bij.
Je kan natuurlijk server-side iets opslaan in de database zodat je daar geen last van hebt, maar je hebt client-side toch echt iets nodig om je login te controleren. Cookies (practisch de enigste mogelijkheid) vallen daarvoor al af.
Mogelijk oplossingen
Ik heb wel wat dingetjes bedacht:
- Alleen server-side dingen doen, server-side een login koppelen aan een IP bijvoorbeeld. Deze methode staat me niet echt aan aangezien het zo lek als een mandje is.
- Een unique ID altijd meegeven in de URL. Het probleem is dat het bestaande applicaties zijn die allemaal gebruik moeten gaan maken van dezelfde login, om die allemaal aan te gaan passen is in principe mijn laatste optie.
- Frames (
) gebruiken, in een hidden frame wat dingen bijhouden. Deze pagina komt constant van 1 domein af zodat hij wel bij cookies kan, ik ben er alleen nog niet helemaal uit over hoe ik dan die login ga transferen naar de pagina van bijvoorbeeld domein2.nl die in het zichtbare frame wordt geladen.
De search?
Ik heb natuurlijk even gezocht. Dat levert wel wat topics op, geen oplossing. Google komt ook voornamelijk met ideeën voor nieuw te ontwikkelen dingen, en over het algemeen zijn het ook geen sluitende oplossingen. Ze zijn ook weer ranzig, of zeer lastig te implementeren in bestaande applicaties.
De mogelijkheden
In principe kan ik vrij veel doen op de server met cronjobs en databases, daar hoeven dus niet echt problemen te liggen. Waar ik wel toe beperkt ben is PHP voor het server-side spul: ASP is niet beschikbaar op de server en van de overige talen is mijn kennisniveau dusdanig laag dat ik daar geen loginsysteem mee ga maken. Als het even kan moet het dus wel een oplossing zijn die in PHP is te maken. Ook is het gewoon allemaal shared hosting, rare PHP modules/plugins zijn dus niet echt mogelijk.
De vraag
Wie weet er dus nog een betere oplossing die vrij eenvoudig toe te voegen is aan de bestaande applicaties? Wat zetjes in de goede richting kunnen me waarschijnlijk gigantisch helpen
Sole survivor of the Chicxulub asteroid impact.