NAME
Lemonldap::NG::Manager::Conf::SOAP - Perl extension written to access to Lemonldap::NG Web-SSO configuration via SOAP.
SYNOPSIS
Client side
Area protection (Apache handler)
package
My::Package;
use
base Lemonldap::NG::Handler::SharedConf;
__PACKAGE__->init ( {
localStorage
=>
"Cache::FileCache"
,
localStorageOptions
=> {
'namespace'
=>
'MyNamespace'
,
'default_expires_in'
=> 600,
},
configStorage
=> {
type
=>
'SOAP'
,
},
https
=> 0,
} );
Authentication portal
my
$portal
= Lemonldap::NG::Portal::SharedConf->new ( {
configStorage
=> {
type
=>
'SOAP'
,
}
});
# Next as usual... See Lemonldap::NG::Portal(3)
if
(
$portal
->process()) {
...
Manager
my
$m
=new Lemonldap::NG::Manager(
{
configStorage
=>{
type
=>
'SOAP'
,
},
dhtmlXTreeImageLocation
=>
"/imgs/"
,
}
) or
die
"Unable to start manager"
;
$m
->doall();
Server side
See Lemonldap::NG::Manager::Conf::SOAP for documentation on client side.
Lemonldap::NG::Manager::SOAPServer->start(
configStorage
=> {
type
=>
"File"
,
dirName
=>
"/usr/share/doc/lemonldap-ng/examples/conf/"
}
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::Conf::SOAP provides the "SOAP" target used to access configuration via SOAP.
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'
,
},
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'
,
},
https
=> 1,
} );
SEE ALSO
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.