L'agent AuthBasic est un agent spécial qui utilise l'authentification web basique pour authentifier dans un hôte virtuel et qui utilise ensuite les règles d'autorisation pour valider les accès à l'hôte virtuel.
L'agent envoie un en-tête WWW-Authenticate au client pour demander le couple compte-mot-de-passe et ensuite le vérifie en utilisant le service web <a1>SOAP</a1> getCookies. Lorsque la session est validée, l'agent examine les autorisations comme un agent standard.
Ce peut être pratique pour autoriser une application cliente à accéder à un hôte virtuel avec un authentifiant en envoyant un en-tête basique.
Configurer l'hôte virtuel comme n'importe quel autre hôte virtuel protégé mais utiliser l'agent AuthBasic au lieu de l'agent par défaut.
PerlModule Lemonldap::NG::Handler::Specific::AuthBasic <VirtualHost *:80> ServerName basic.example.com # Load AuthBasic Handler PerlHeaderParserHandler Lemonldap::NG::Handler::Specific::AuthBasic ... </VirtualHost>
PerlSetEnv PERL_LWP_SSL_VERIFY_HOSTNAME 0
Since 1.9.6, LLNG FastCGI server can handle AuthBasic handler. To call it, you just have to add fastcgi_param LLTYPE authbasic;
in the FastCGI server call and remove error_page 401
directive:
location = /lmauth { internal; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock; fastcgi_param LLTYPE authbasic; # Ignorer les données postées fastcgi_pass_request_body off; fastcgi_param CONTENT_LENGTH ""; # Conserver le nom d'hôte original fastcgi_param HOST $http_host; # Conserver la requête originale (le serveur LLNG va recevoir /llauth) fastcgi_param X_ORIGINAL_URI $request_uri; } location / { ... ###################################### # CALLING AUTHENTICATION # ###################################### auth_request /lmauth; auth_request_set $lmremote_user $upstream_http_lm_remote_user; auth_request_set $lmlocation $upstream_http_location; # Remove this for AuthBasic handler #error_page 401 $lmlocation; ... }
Aucun paramètres n'est requis. Il faut en revanche autoriser le service web des sessions, voir le backend de sessions SOAP.