Lemonldap::NG::Manager::SOAPServer.3pm

Langue: en

Version: 2008-12-29 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Lemonldap::NG::Manager::SOAPServer - Perl extension written to access to Lemonldap::NG Web-SSO configuration or sessions via SOAP.

SYNOPSIS

Server side

   use Lemonldap::NG::Manager::SOAPServer;
   Lemonldap::NG::Manager::SOAPServer->start(
               configStorage => {
                       type    => "File",
                       dirName => "/usr/share/doc/lemonldap-ng/examples/conf/"
               },
               # 2 types are available :
               #   * 'config' for configuration access
               #   * 'sessions' for sessions access
               type          => 'sessions',
               # For 'sessions' type, you can choose exported functions (get
               # only by default):
               AuthorizedFunctions => 'new get set',
   );
 
 

Client side

See Lemonldap::NG::Common::Conf::SOAP for documentation on client side configuration access.

See Lemonldap::NG::Common::Apache::Session::SOAP for documentation on client side sessions access.

Configuration access

Area protection

   package My::Package;
   use Lemonldap::NG::Handler::SharedConf;
   @ISA = qw(Lemonldap::NG::Handler::SharedConf);
   
   __PACKAGE__->init ( {
       localStorage        => "Cache::FileCache",
       localStorageOptions => {
                 'namespace'          => 'MyNamespace',
                 'default_expires_in' => 600,
       },
       configStorage       => {
                 type  => 'SOAP',
                 proxy => 'http://manager.example.com/soapserver.pl',
                 # If soapserver is protected by HTTP Basic:
                 User     => 'http-user',
                 Password => 'pass',
       },
       https               => 0,
   } );
 
 

Authentication portal

   use Lemonldap::NG::Portal::SharedConf;
   
   my $portal = Lemonldap::NG::Portal::SharedConf->new ( {
           configStorage => {
                   type    => 'SOAP',
                   proxy   => 'http://localhost/devel/test.pl',
                   # If soapserver is protected by HTTP Basic:
                   User     => 'http-user',
                   Password => 'pass',
           }
   });
   # Next as usual...
   if($portal->process()) {
     ...
 
 

Manager

   use Lemonldap::NG::Manager;
   
   my $m=new Lemonldap::NG::Manager(
        {
            configStorage=>{
                   type  => 'SOAP',
                   proxy => 'http://localhost/devel/test.pl'
                   # If soapserver is protected by HTTP Basic:
                   User     => 'http-user',
                   Password => 'pass',
            },
             dhtmlXTreeImageLocation=> "/imgs/",
         }
   ) or die "Unable to start";
   
   $m->doall();
 
 

Sessions access

   Use simply Lemonldap::NG::Common::Apache::Session::SOAP in the 'Apache session
   module'parameter (instead of Apache::Session::MySQL or
   Apache::Session::File).
 
 

DESCRIPTION

Lemonldap::NG::Common::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::SOAPServer provides a SOAP proxy system that can be used to access

SUBROUTINES

start: main subroutine. It starts SOAP CGI system. You have to set "configStorage" to the real configuration storage system. See Synopsys for examples.
process: alias for start.
new (constructor): (called by "start"). See code if you want to overload this package.

SECURITY

Since Lemonldap::NG::Manager::SOAPServer act as a CGI, you can protect configuration access by any of the HTTP protection mecanisms. See Lemonldap::NG::Common::Conf::SOAP for the security in the client side.

In ``session'' mode, you can control what functions can be used by SOAP. By default, only ``get'' can be used: it means that only handlers can work with it. Use ``AuthorizedFunctions'' parameter to grant other functions.

SEE ALSO

Lemonldap::NG::Manager, Lemonldap::NG::Common::Conf::SOAP, Lemonldap::NG::Handler, Lemonldap::NG::Portal, http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation

AUTHOR

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

BUG REPORT

Use OW2 system to report bug or ask for features: <http://forge.objectweb.org/tracker/?group_id=274>

DOWNLOAD

Lemonldap::NG is available at <http://forge.objectweb.org/project/showfiles.php?group_id=274> 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.