NAME

Lemonldap::NG::Manager::Apache::Session::SOAP - Perl extension written to access to Lemonldap::NG Web-SSO sessions via SOAP.

SYNOPSIS

  • With Lemonldap::NG::Handler

    package My::Package;
    use Lemonldap::NG::Handler::SharedConf;
    
    our @ISA = qw(Lemonldap::NG::Handler::Simple);
    
    __PACKAGE__->init ({
    	     globalStorage => 'Lemonldap::NG::Manager::Apache::Session::SOAP',
    	     globalStorageOptions => {
    	             proxy => 'http://manager/cgi-bin/soapserver.pl',
    	             proxyOptions => {
    	                 timeout => 5,
    	             },
    	     },
           configStorage       => {
    	         ... # See Lemonldap::NG::Handler
  • With Lemonldap::NG::Portal

    use Lemonldap::NG::Portal::SharedConf;
    my $portal = new Lemonldap::NG::Portal::SharedConf (
    	     globalStorage => 'Lemonldap::NG::Manager::Apache::Session::SOAP',
    	     globalStorageOptions => {
    	             proxy => 'http://manager/cgi-bin/soapserver.pl',
    	             proxyOptions => {
    	                 timeout => 5,
    	             },
    	     },
          configStorage => {
               ... # See Lemonldap::NG::Portal

    You can also set parameters corresponding to "Apache::Session module" in the manager.

DESCRIPTION

Lemonldap::NG::Manager::Conf provides a simple interface to access to Lemonldap::NG Web-SSO configuration. It is used by Lemonldap::NG::Handler, Lemonldap::NG::Portal and Lemonldap::NG::Manager.

Lemonldap::NG::Manager::Apache::Session::SOAP used with Lemonldap::NG::Manager::SOAPServer provides the ability to acces to Lemonldap::NG sessions via SOAP: They act as a proxy to access to the real Apache::Session module (set as Lemonldap::NG::Manager::SOAPServer parameter).

SECURITY

As Lemonldap::NG::Manager::Conf::SOAP use SOAP::Lite, you have to see SOAP::Transport to know arguments that can be passed to proxyOptions.

Example :

  • HTTP Basic authentication

    SOAP::transport can use basic authentication by rewriting SOAP::Transport::HTTP::Client::get_basic_credentials>:

    package My::Package;
    
    use base Lemonldap::NG::Handler::SharedConf;
    
    # AUTHENTICATION
    BEGIN {
      sub SOAP::Transport::HTTP::Client::get_basic_credentials {
        return 'username' => 'password';
      }
    }
    
    __PACKAGE__->init ( {
        localStorage        => "Cache::FileCache",
        localStorageOptions => {
                  'namespace'          => 'MyNamespace',
                  'default_expires_in' => 600,
        },
        configStorage       => {
                  type  => 'SOAP',
                  proxy => 'http://manager.example.com/soapserver.pl',
        },
        https               => 1,
    } );
  • SSL Authentication

    SOAP::transport provides a simple way to use SSL certificate: you've just to set environment variables.

    package My::Package;
    
    use base Lemonldap::NG::Handler::SharedConf;
    
    # AUTHENTICATION
    $ENV{HTTPS_CERT_FILE} = 'client-cert.pem';
    $ENV{HTTPS_KEY_FILE}  = 'client-key.pem';
    
    __PACKAGE__->init ( {
        localStorage        => "Cache::FileCache",
        localStorageOptions => {
                  'namespace'          => 'MyNamespace',
                  'default_expires_in' => 600,
        },
        configStorage       => {
                  type  => 'SOAP',
                  proxy => 'http://manager.example.com/soapserver.pl',
        },
        https               => 1,
    } );

SEE ALSO

Lemonldap::NG::Manager::SOAPServer, Lemonldap::NG::Manager, Lemonldap::NG::Manager::Conf::SOAP, Lemonldap::NG::Handler, Lemonldap::NG::Portal

AUTHOR

Xavier Guimard, <x.guimard@free.fr>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by Xavier Guimard

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.