App-Level-Benutzername / Benutzer-ID in nginx / Apache-Log einfügen

8

Gibt es eine Möglichkeit, einen Benutzernamen oder eine ID auf Anwendungsebene (in diesem Fall den Benutzernamen oder die ID von django) in das Apache- oder ngnix-Protokoll zu injizieren? Beachten Sie, dass ich nicht nach dem HTTP-Authentifizierungs-Benutzernamen frage.

    
Parand 25.07.2011, 19:06
quelle

3 Antworten

2

Wir machen so etwas, nur sagen wir Apache, dass wir den Django-Sessionid-Cookie speichern sollen.

%Vor%

Es ist eine Art zweistufiger Prozess, um die Sitzungs-ID dem Benutzer zuzuordnen, aber es ist einfach zu implementieren. Sie könnten etwas Ähnliches tun, indem Sie ein Cookie mit der expliziten ID darin setzen und dann das benutzerdefinierte Protokoll verwenden, um es zu erfassen.

    
Peter Rowell 26.07.2011, 18:59
quelle
13

Ich verwende derzeit eine kurze benutzerdefinierte Middleware, um diese Daten zu Antwort-Headern hinzuzufügen, wie unten:

%Vor%

Damit können Sie einfach %{X-Remote-User-Name}o und %{X-Remote-User-Id}o verwenden Ihre Apache-Konfiguration (oder ähnlich für nginx) und erhalten Sie die Informationen direkt in Ihre Protokolle.

    
Kristian Glass 20.02.2012 14:11
quelle
0

Wenn Sie ein Cookie für den Benutzernamen haben, sagen Sie "uname", können Sie% {uname} C wie folgt hinzufügen:

%Vor%

Hier ist X-Forwarded-For die Benutzer-IP-Adresse. Mein App-Server ist tomcat8 mit Spring-Sicherheit. Die Ausgabe ist wie folgt:

%Vor%     
XLi 09.09.2016 23:33
quelle

Tags und Links