Auth login information nutzen in website?

Alles, was den Apache betrifft, kann hier besprochen werden.

Auth login information nutzen in website?

Postby michai » 13. October 2009 08:08

Hallo zusammen.

Ich habe einen Apache Webserver, basierend auf Ubuntu falls das relevant ist, mit unterschiedlichen "Seiten" laufen. Dazu gehört ein Blog (php), ein Bugtracker (python), Subversion, eine statische html Seite und ein Wiki (php).
Um die Information vor der Öffentlichkeit zu verbergen ist der komplette Server über basic_auth geschützt. Die meisten "Seiten", also Blog, Bugtracker und Wiki haben aber eine eigene Benutzerverwaltung. Das heißt, man muss ich 2x einloggen, um Inhalte lesen oder bearbeiten zu können.
Da das System natürlich von mehreren Leuten genutzt wird macht es auch keinen Sinn, die Anmeldermechanismen der "Seiten" abzustellen und nur noch die Apache auth zu verwenden.

Ich würde das aber trotzdem gern auf einen Loginvorgang reduzieren. Gibt es eine Möglichkeit, auf die Logininformationen der basic_auth Methode des Apache zugreifen und diese nutzen zu können?

Vielen Dank im Voraus
Michai
michai
 
Posts: 3
Joined: 13. October 2009 07:52

Re: Auth login information nutzen in website?

Postby Nobbie » 13. October 2009 14:44

michai wrote:Ich würde das aber trotzdem gern auf einen Loginvorgang reduzieren. Gibt es eine Möglichkeit, auf die Logininformationen der basic_auth Methode des Apache zugreifen und diese nutzen zu können?


Ja.

Die Benutzerdaten (UserID und Passwort und Authorierungs-Typ) sind Bestandteil des HTTP Headers und werden von PHP im $_SERVER Array bereitgestellt. Die entsprechenden Werte befinden sich nach erfolgtem Login in den folgenden Feldern:

$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
$_SERVER['PHP_AUTH_TYPE']
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: Auth login information nutzen in website?

Postby michai » 14. October 2009 07:16

Nobbie wrote:$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
$_SERVER['PHP_AUTH_TYPE']


Eieiei! So einfach! Das hätt' ich auch selbst rausfunden können. :-/

Und in Python? Da muss ich mir vermutlich den HTTP-Header selbst auseinanderfrickeln, oder?
michai
 
Posts: 3
Joined: 13. October 2009 07:52

Re: Auth login information nutzen in website?

Postby Nobbie » 14. October 2009 11:43

michai wrote:Eieiei! So einfach! Das hätt' ich auch selbst rausfunden können. :-/


Ja, sehe ich auch so.

michai wrote:Und in Python? Da muss ich mir vermutlich den HTTP-Header selbst auseinanderfrickeln, oder?


Weiß ich nicht - könnte ich jetzt natürlich auch für Dich nachschauen, aber ich denke, das kriegst Du auch selbst heraus. Könnte mir vorstellen, dass es ein standardisiertes CGI-Modul (eine Klasse oder sonst etwas) für Python gibt, welches die Requestdaten in ähnlicher Weise aufbereitet wie es in PHP und anderen Sprachen Standard ist. Cookies sind ja beispielsweise auch nur im HTTP Header eingebettet und werden von PHP bereitgestellt. Irgendsoetwas wird es auch für Python geben.

P.S.: Das CGI Modul gibt es wirklich, aber ob die HTTP Header darin aufbereitet werden, weiß ich nicht. Ich habe aber hier ein beispielhaftes Codefragment gefunden, welches eine Authorisierung in Python abbildet und dafür die entsprechenden HTTP Header analysiert und bereitstellt: http://www2.aucupor.de/?p=61

Da wird auch genau erläutert, wie der HTTP Header aussieht.
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: Auth login information nutzen in website?

Postby Wiedmann » 14. October 2009 15:30

Könnte mir vorstellen, dass es ein standardisiertes CGI-Modul (eine Klasse oder sonst etwas) für Python gibt,

In einem standardisiertes CGI gibt es diese Werte nicht alle. Dort hat man nur Zugriff auf AUTH_TYPE und REMOTE_USER.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests