Table of Contents

Protéger une application

Présentation

Une application peut connaître l'utilisateur connecté en utilisant :

Pour obtenir plus d'information sur l'utilisateur (nom, adresse de courriel, etc...), il faut lire les en-têtes HTTP.

If your application is based on Perl CGI package, you can simply replace CGI by Lemonldap::NG::Handler::CGI

Exemple de code

Exemples avec un en-tête configuré nommé 'Auth-User':

Perl

print "Connected user: ".$ENV{HTTP_AUTH_USER};

PHP

print "Connected user: ".$_SERVER["HTTP_AUTH_USER"];

CGI aito-protégée Perl

Using this feature, you don't have to use virtual host protection: protection is embedded in Lemonldap::NG::Handler::CGI.

Lemonldap::NG::Handler::CGI adds some functions to CGI:

Exemple :

my $cgi = new CGI;
...
my $cgi = Lemonldap::NG::Handler::CGI->new ({});
$cgi->authenticate();
$cgi->authorize();
...

On peut ensuite accéder aux données de l'utilisateur

# Obtenir des attributs (ou macros)
my $cn = $cgi->user->{cn}
 
# Tester si l'utilisateur est membre d'un groupe Lemonldap::NG (ou d'un groupe LDAP translaté)
if( $cgi->group('admin') ) {
  # code html spécial pour les administrateurs
}
else {
  # autre code HTML
}

On peut tester toute URL pour voir si elle est protégée en utilisant testUri(). Elle retourne :

if($cgi->testUri('http://test3.example.com/') {
  print '<a href="http://test3.example.com/">click here</a>';
}