lemonldap-ng/doc/sources/admin/handlerarch.rst

47 lines
2.0 KiB
ReStructuredText
Raw Normal View History

2020-05-14 23:29:41 +02:00
Handler libraries architecture
==============================
Handlers are build on rows of modules:
- Applications or launchers that get the request and choose the right
type *(Main, AuthBasic, ZimbraPreAuth,...)* and launch it *(may not
inherits from other Handler::\* modules)*
2022-01-02 22:45:25 +01:00
- Wrappers that call "type" library and platform "Main" (may all
2020-05-14 23:29:41 +02:00
inherits from Platform::Main
2022-01-02 22:45:25 +01:00
- Library types if needed *(may inherit from Main)*
2020-05-14 23:29:41 +02:00
- Main: the main handler library
2020-05-29 17:10:28 +02:00
Since version 2.1, wrappers are autogenerated when undefined. Generated
code is simply:
.. code:: perl
package Lemonldap::NG::Handler::Platform::Type;
use base 'Lemonldap::NG::Handler::Lib::Type',
'Lemonldap::NG::Handler::Platform::Main';
1;
2020-05-14 23:29:41 +02:00
Overview of Handler packages
----------------------------
============================================================================== ============ ================= =========== ====
Usage Platform Wrapper Types Main
============================================================================== ============ ================= =========== ====
Apache2 protection ApacheMP2 ApacheMP2::<type> Lib::<type> Main
2020-05-18 09:56:39 +02:00
Plack servers protection or Nginx/\ :doc:`SSOaaS<ssoaas>` FastCGI/uWSGI server Server Server::<type>
:doc:`Self protected applications<selfmadeapplication>` PSGI PSGI::<type>
2020-05-14 23:29:41 +02:00
============================================================================== ============ ================= =========== ====
Types are:
- *(Main)*: link between Main and platform
- :doc:`AuthBasic<handlerauthbasic>`
- :doc:`CDA<cda>`
- :doc:`DevOps<devopshandler>`
- :doc:`DevOps+ServiceToken<devopssthandler>`
- :doc:`OAuth2<oauth2handler>`
- :doc:`SecureToken<securetoken>` *(not available for PSGI)*
- :doc:`Service Token<servertoserver>` *(server to server)*
- :doc:`ZimbraPreAuth<applications/zimbra>` *(not
available for PSGI)*