Ich habe die Antwort auf diese Frage gelesen:
/programming/4102763/apache-basic-authentication-except-for-those-allowed
Es hat mir geholfen zu verstehen, wie man einige Benutzer (gemäß der IP) nicht authentifiziert:
<Directory /var/www/files/>
Require valid-user
Allow from 192.168.1.2
Satisfy Any
AuthUserFile /etc/apache2/basic.pwd
AuthName "Please enter username and password"
AuthType Basic
</Directory>
Stellen Sie sich vor, ich habe diese Datenbank (anders als die für die Authentifizierung verwendete Datenbank):
User IP
Mark 192.168.1.2
Mike 192.168.1.3
Karl 192.168.1.4
1- Kann ich alle in der Datenbank gespeicherten IP-Adressen mithilfe einer Konfiguration in Apache zulassen? Ich möchte keine statische Lösung (die Datenbank ändert sich dynamisch).
2- Ein weiteres Problem ist, dass die Autorisierung der zulässigen IP verloren geht. Kann Apache diese Datenbank zur Autorisierung verwenden, wenn der Benutzer die Seiten ohne Authentifizierung abrufen darf? Im Detail: Wir wissen, wann Apache Benutzer authentifiziert, von dem er den Benutzernamen kennt Anmeldeinformationen für die Authentifizierung, aber mit Zulassen geht der Benutzername verloren. Ich möchte, dass Apache den Benutzernamen der IP aus derselben Tabelle extrahiert, in der die IP-Adresse extrahiert wird.
AKTUALISIEREN:
Hinweis: Ich denke, Tony Antwort könnte hilfreich sein, aber ich möchte auch andere Antworten (die mich nicht verpflichten, ein Modul zu erstellen).
Mein Ziel dieser Frage ist "Single Sign On":
Ich verwende freeradius , um die internen Benutzer (innerhalb des Netzwerks) zu authentifizieren, damit Apache sie nicht erneut authentifiziert.
Ich möchte, dass Apache externe Benutzer mithilfe von LDAP authentifiziert.
- Meine Lösung besteht darin, die
Allow
Richtlinie zu verwenden, um die internen Benutzer ohne Authentifizierung zuzulassen, aber ich muss ihnen erlauben, DB zu verwenden (erstes Problem). und versuchen, Apache so zu konfigurieren, dass interne Benutzer autorisiert werden (die ich nicht authentifiziert habe) (zweites Problem)?
Hinweis: Die Autorisierung externer Benutzer ist mit LDAP sehr einfach (da Apache den Namen des Benutzers, mit dem es sich befasst, anhand der Authentifizierungsdaten kennt).
Ist meine vorgeschlagene Lösung berechtigt, das zu tun, was ich tun möchte? Wenn nicht, was schlagen Sie als Lösung vor?