[Apache] Domein-afhankelijke authenticatie en autorisatie

Pagina: 1
Acties:

  • TweakMij
  • Registratie: Augustus 2002
  • Laatst online: 22-01 08:39
Ik heb verschillende (sub)domeinnamen gekoppeld aan één-en-dezelfde folder op een shared Apache 2.2 webserver, waarvan overigens de mod_setenvif module ('statisch') is geladen. Afhankelijk van via welke (sub)domeinnaam de gebruiker de folder benadert, dient de gebruiker zich wel of niet te autoriseren voor toegang tot de folder EN is die gebruiker wel of niet geautoriseerd voor toegang tot de folder. Nu heb ik hiervoor in de folder een htaccess bestand geplaatst met volgende inhoud:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
AuthType Basic
AuthName "Login to access resources from this restricted area of the webserver."
AuthUserFile /home/mijnaccount/.htpasswds/passwords
SetEnvIfNoCase Host ^domein1\.com$ domein1
SetEnvIfNoCase Host ^\.domein1\.com$ wwwdomein1
SetEnvIfNoCase Host ^domein2\.com$ domein2
SetEnvIfNoCase Host ^\.domein2\.com$ wwwdomein2
<IfDefine domein1>
     require user user_1_domein1 user_2_domein1
</IfDefine>
<IfDefine wwwdomein1>
     require user user_1_domein1 user_2_domein1
</IfDefine>
<IfDefine domein2>
     require user user_1_domein2 user_2_domein2
</IfDefine>
<IfDefine wwwdomein2>
     require user user_1_domein2 user_2_domein2
</IfDefine>

Ik heb gecontroleerd dat:
1) de (sub)domeinnamen juist zijn gekoppeld en
2) het "password"-bestand zich bevindt in de juiste locatie en de inhoud van dat bestand juist is.

Het gebruiken van bijv. "Allow from env=domein1" is geen oplossing, omdat deze regel per (sub)domeinnaam verschilt. Voor het gebruik van <directory> of <virtual host> heb ik geen autorisatie, geloof ik.

Het probleem waar ik tegen aan loop, is dat de webserver altijd toegang verleent (zonder de gebruiker überhaupt te vragen om in te loggen).

Wat is er verkeerd aan de inhoud van het htaccess bestand of welke andere oplossingen bestaan er?


Achtergrond informatie die ik heb gebruikt:

Vergelijkbare vragen & antwoorden:Officiële documentatie omtrent gebruikte directives:NB: Om de 'host'-header omgevingsvariabele te controleren heb ik volgend PHP-script gebruikt:
PHP:
1
<?php echo (apache_getenv("SERVER_HTTP_HOST")); ?>

Ik krijg hiermee echter volgende foutmelding:
Fatal error: Call to undefined function apache_getenv

[ Voor 3% gewijzigd door TweakMij op 14-12-2009 22:04 ]

Jezelf zijn kan jij het beste