2009-08-02 12 views
2

Mein Client besteht darauf, dass es eine einzige Seite gibt, auf der sich sowohl Joomla-Administratoren als auch Benutzer anmelden können, im Gegensatz zum Standard-Joomla-Setup, in dem sich diese beiden Gruppen an verschiedenen Orten anmelden für den Administrator). Während die Gründe für die Beharrlichkeit des Kunden sind neben dem Punkt, im Wesentlichen ist es eine kleine Gruppe, wo nur einige Benutzer können CMS-Typ-Management von Artikeln usw. tun, aber sie wollen nicht auf separaten Seiten gehen müssen, gehen Zahlen.Einheitliches Login-Formular für Joomla-Benutzer und Administrator

Wie auch immer, gibt es eine Art Erweiterung, oder müsste ich ein Authentifizierungs-Plugin schreiben? Könnte der Controller für einen Login-Typ den anderen Login aufrufen und die gleichen Anmeldedaten weitergeben, und wenn ja, wie würde das in den Code geschrieben?

+0

Ist es wichtig, dass sie Joomla verwenden? Drupal hat dieses Konzept eingebaut. – anschauung

+0

Ich hatte Drupal empfohlen, aber sie hatten gehört, dass es eine steilere Lernkurve hat ... der ich nicht völlig zustimme, aber Joomla ist ihre Vorliebe und es liegt an mir, es zum Laufen zu bringen. Selbst wenn ich sie in Drupal sprechen könnte, bin ich jetzt ziemlich neugierig, wie es in Joomla gemacht werden könnte. –

Antwort

1

Eigentlich Admin-Benutzer + normale Benutzer können anmelden im Front-End (die normale Seite). Admin-Benutzer können ihre Artikel bearbeiten, normale Benutzer hingegen nicht.

Alle anderen Dinge (wie das Erstellen von Kategorien usw.) müssen im Backend (/ administrator /) durchgeführt werden. Ich nehme an, Sie das folgende Szenario wollen:
1) Du musst angemeldet bei your.site.com
2) Sie auf einen Link klicken
3) your.site.com/administrator/ und ohne das Passwort erneut eingeben Sie sind im Back-End angemeldet.

Soweit ich weiß, existiert eine solche Erweiterung (Authentification Plugin) noch nicht. Aber es sollte machbar sein. An beiden Orten (Frontend und Backend) wird dasselbe Plugin verwendet. Um die Information zu übergeben, dass ein Benutzer eingeloggt ist, könnten Sie versuchen:
- ob die $ _SESSION die gleiche ist
- wenn nicht, setzen Sie ein Cookie mit einer zufälligen ID, speichern Sie diese ID in der Datenbank (zusammen mit dem Benutzernamen)), und fragen Sie nach einem solchen Cookie beim Login.

Ich würde das vorhandene Login-Plugin nicht ändern, stattdessen schreibe ein neues mit nur dieser alternativen Login-Methode. Alle veröffentlichten Authentifizierungs-Plugins sind ODER-verknüpft, d. H. Solange einer von ihnen sich einloggen kann, ist alles in Ordnung.

Tutorial: http://docs.joomla.org/Tutorial:Creating_an_Authentication_Plugin_for_Joomla_1.5

+0

Danke; Sie beschreiben das Szenario richtig, und ich werde versuchen, ein Plugin zu schreiben - wird die Antwort genehmigen, wenn ich es funktioniere. –

+0

Wird weitergehen und akzeptieren, da dies aussieht, als wäre es der richtige Ansatz. Ein Mitarbeiter war in der Lage, den Kunden von dieser Anforderung zu überzeugen, also ist es nicht etwas, was ich tun muss, und kann daher nicht direkt bestätigen. –

+0

Nun, eigentlich ist dies die beste Lösung :-) Ernsthaft, ich hatte einige Skrupel, wie man es implementieren kann, ohne ein Sicherheitsloch zu schaffen. Aber eigentlich habe ich diese Skrupels, sobald die Authentifizierung/Autorisierung beteiligt ist. – giraff

Verwandte Themen