Commit cf12d5aa authored by Xavier Guimard's avatar Xavier Guimard

Update doc (#1160)

parent 40b7535f
......@@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=4b672ef72fa0a5a16fe79036bfaaaf52" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=6cc832d32ee620a66fe468f5fc8a13ab" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
......@@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1486506626" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1486807628" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=4b672ef72fa0a5a16fe79036bfaaaf52" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=6cc832d32ee620a66fe468f5fc8a13ab" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
......@@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1486506626" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1486807628" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -64,6 +64,7 @@
</li>
<li class="level1"><div class="li"><a href="#known_problems">Known problems</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#federation_protocols">Federation protocols</a></div></li>
<li class="level2"><div class="li"><a href="#authapache_authentication">AuthApache authentication</a></div></li>
<li class="level2"><div class="li"><a href="#ssl_authentication">SSL authentication</a></div></li>
</ul></li>
......@@ -272,7 +273,29 @@ The following rule is valid:
</div>
<!-- EDIT11 SECTION "Known problems" [3611-3638] -->
<h3 class="sectionedit12" id="authapache_authentication">AuthApache authentication</h3>
<h3 class="sectionedit12" id="federation_protocols">Federation protocols</h3>
<div class="level3">
<p>
<a href="authsaml.html" class="wikilink1" title="documentation:2.0:authsaml">SAML</a>, <a href="authopenidconnect.html" class="wikilink1" title="documentation:2.0:authopenidconnect">OpenID-Connect</a>, <a href="authcas.html" class="wikilink1" title="documentation:2.0:authcas">CAS</a> or <a href="authopenid.html" class="wikilink1" title="documentation:2.0:authopenid">old OpenID</a> can&#039;t be chained with a “and” for authentication part. So “[<abbr title="Security Assertion Markup Language">SAML</abbr>] and [LDAP]” isn&#039;t valid. This is because their authentication kinematic don&#039;t use the same steps.
</p>
<div class="table sectionedit13"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0 centeralign"> Bad expression </th><th class="col1 centeralign"> Solution </th><th class="col2 centeralign"> Explanation </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0"> <em><code>[<abbr title="Security Assertion Markup Language">SAML</abbr>] and [LDAP]</code></em> </td><td class="col1"> <code>[<abbr title="Security Assertion Markup Language">SAML</abbr>, <abbr title="Security Assertion Markup Language">SAML</abbr> and LDAP]</code> </td><td class="col2"> Authentication is done by <abbr title="Security Assertion Markup Language">SAML</abbr> only but user must match an LDAP entry </td>
</tr>
<tr class="row2 roweven">
<td class="col0"> <em><code>[<abbr title="Security Assertion Markup Language">SAML</abbr>] and [LDAP] or [LDAP]</code></em> </td><td class="col1"> <code>[<abbr title="Security Assertion Markup Language">SAML</abbr>, <abbr title="Security Assertion Markup Language">SAML</abbr> and LDAP] or [LDAP]</code> </td><td class="col2"> Authentication is done by <abbr title="Security Assertion Markup Language">SAML</abbr> or LDAP but user must match an LDAP entry </td>
</tr>
</table></div>
<!-- EDIT13 TABLE [3938-4270] -->
</div>
<!-- EDIT12 SECTION "Federation protocols" [3639-4271] -->
<h3 class="sectionedit14" id="authapache_authentication">AuthApache authentication</h3>
<div class="level3">
<p>
......@@ -288,8 +311,8 @@ To bypass this, follow the documentation of <a href="authapache.html" class="wik
</p>
</div>
<!-- EDIT12 SECTION "AuthApache authentication" [3639-4055] -->
<h3 class="sectionedit13" id="ssl_authentication">SSL authentication</h3>
<!-- EDIT14 SECTION "AuthApache authentication" [4272-4688] -->
<h3 class="sectionedit15" id="ssl_authentication">SSL authentication</h3>
<div class="level3">
<p>
......@@ -297,6 +320,6 @@ To chain SSL, you have to set “SSLRequire optional” in Apache configuration,
</p>
</div>
<!-- EDIT13 SECTION "SSL authentication" [4056-] --></div>
<!-- EDIT15 SECTION "SSL authentication" [4689-] --></div>
</body>
</html>
......@@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/bootswatch/3.3.4/flatly/bootstrap.min.css?do=login&amp;sectok=4b672ef72fa0a5a16fe79036bfaaaf52" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/bootswatch/3.3.4/flatly/bootstrap.min.css?do=login&amp;sectok=6cc832d32ee620a66fe468f5fc8a13ab" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
......@@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=bootswatch%3A3.3.4%3Aflatly%3Abootstrap.min.css&amp;1486506627" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=bootswatch%3A3.3.4%3Aflatly%3Abootstrap.min.css&amp;1486807629" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:confignginx</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,confignginx"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="confignginx.html"/>
......@@ -49,10 +49,16 @@
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#files">Files</a></div>
<li class="level1"><div class="li"><a href="#fastcgi_server">FastCGI server</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#debianubuntu">Debian/Ubuntu</a></div></li>
<li class="level2"><div class="li"><a href="#red_hatcentos">Red Hat/CentOS</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#files">Files</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#debianubuntu1">Debian/Ubuntu</a></div></li>
<li class="level2"><div class="li"><a href="#red_hatcentos1">Red Hat/CentOS</a></div></li>
</ul></li>
</ul>
</div>
......@@ -64,7 +70,40 @@
</div>
<!-- EDIT1 SECTION "Deploy Nginx configuration" [1-42] -->
<h2 class="sectionedit2" id="files">Files</h2>
<h2 class="sectionedit2" id="fastcgi_server">FastCGI server</h2>
<div class="level2">
<p>
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by default lemonldap-ng meta package.
</p>
</div>
<!-- EDIT2 SECTION "FastCGI server" [43-193] -->
<h3 class="sectionedit3" id="debianubuntu">Debian/Ubuntu</h3>
<div class="level3">
<pre class="code">apt install lemonldap-ng-fastcgi-server</pre>
<p>
Enable and start the service :
</p>
<pre class="code">systemctl enable llng-fastcgi-server
systemctl start llng-fastcgi-server</pre>
</div>
<!-- EDIT3 SECTION "Debian/Ubuntu" [194-394] -->
<h3 class="sectionedit4" id="red_hatcentos">Red Hat/CentOS</h3>
<div class="level3">
<pre class="code">yum install lemonldap-ng-fastcgi-server</pre>
<p>
Enable and start the service :
</p>
<pre class="code">systemctl enable llng-fastcgi-server
systemctl start llng-fastcgi-server</pre>
</div>
<!-- EDIT4 SECTION "Red Hat/CentOS" [395-596] -->
<h2 class="sectionedit5" id="files">Files</h2>
<div class="level2">
<p>
......@@ -76,8 +115,8 @@ You have to include them in Nginx main configuration.
</p>
</div>
<!-- EDIT2 SECTION "Files" [43-265] -->
<h3 class="sectionedit3" id="debianubuntu">Debian/Ubuntu</h3>
<!-- EDIT5 SECTION "Files" [597-819] -->
<h3 class="sectionedit6" id="debianubuntu1">Debian/Ubuntu</h3>
<div class="level3">
<p>
......@@ -97,8 +136,8 @@ ln -s /etc/nginx/sites-available/portal-nginx.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/test-nginx.conf /etc/nginx/sites-enabled/</pre>
</div>
<!-- EDIT3 SECTION "Debian/Ubuntu" [266-1024] -->
<h3 class="sectionedit4" id="red_hatcentos">Red Hat/CentOS</h3>
<!-- EDIT6 SECTION "Debian/Ubuntu" [820-1578] -->
<h3 class="sectionedit7" id="red_hatcentos1">Red Hat/CentOS</h3>
<div class="level3">
<p>
......@@ -110,6 +149,6 @@ ln -s /etc/lemonldap-ng/portal-nginx.conf /etc/nginx/conf.d/
ln -s /etc/lemonldap-ng/test-nginx.conf /etc/nginx/conf.d/</pre>
</div>
<!-- EDIT4 SECTION "Red Hat/CentOS" [1025-] --></div>
<!-- EDIT7 SECTION "Red Hat/CentOS" [1579-] --></div>
</body>
</html>
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:customhandlers</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,customhandlers"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="customhandlers.html"/>
......@@ -43,30 +43,115 @@
</head>
<body>
<div class="dokuwiki export container">
<!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#add_a_new_handler_type">Add a new handler type</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#enable_it">Enable it</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#add_a_new_platform">Add a new platform</a></div></li>
<li class="level1"><div class="li"><a href="#old_fashion_nginx_handlers">Old fashion Nginx handlers</a></div></li>
</ul>
</div>
</div>
<!-- TOC END -->
<h1 class="sectionedit1" id="custom_handlers">Custom handlers</h1>
<div class="level1">
<p>
LLNG provides Perl libraries that can be easily used by inheritance. To launch them:
LLNG provides Perl libraries that can be easily used by inheritance. So you can write your own handlers but you need first to understand <a href="handlerarch.html" class="wikilink1" title="documentation:2.0:handlerarch">Handler architecture</a>
</p>
</div>
<!-- EDIT1 SECTION "Custom handlers" [1-206] -->
<h2 class="sectionedit2" id="add_a_new_handler_type">Add a new handler type</h2>
<div class="level2">
<ol>
<li class="level1"><div class="li"> Write your new Module (in Lemonldap/NG/Handler/Lib for example) that overload some Lemonldap::NG::Handler::Main methods</div>
</li>
<li class="level1"><div class="li"> Write a wrapper in each platform directory <em>(see Lemonldap::NG::Handler::Apache2::AuthBasic or Lemonldap::NG::Handler::Server::AuthBasic for examples)</em></div>
</li>
</ol>
<p>
Wrapper usually look at this:
</p>
<pre class="code file perl"><a href="http://perldoc.perl.org/functions/package.html"><span class="kw3">package</span></a> Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">ApacheMP2</span><span class="sy0">::</span><span class="me2">MyType</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">use</span> base <span class="st_h">'Lemonldap::NG::Handler::ApacheMP2::Main'</span><span class="sy0">,</span> <span class="st_h">'Lemonldap::NG::Handler::Lib::MyType'</span><span class="sy0">;</span>
&nbsp;
<span class="nu0">1</span><span class="sy0">;</span></pre>
</div>
<!-- EDIT2 SECTION "Add a new handler type" [207-723] -->
<h3 class="sectionedit3" id="enable_it">Enable it</h3>
<div class="level3">
<p>
You can enable it either:
</p>
<ul>
<li class="level1"><div class="li"> with Apache: replace simply Lemonldap::NG::Handler by your own package in Apache configuration file</div>
<li class="level1"><div class="li"> by setting a “PerlSetVar” in the Apache configuration file</div>
</li>
<li class="level1"><div class="li"> with Nginx: you can declare them as follow.</div>
<li class="level1"><div class="li"> by adding it to the menu: add its name in <code>vhostType</code> “select” declaration (file <code>lemonldap-ng-manager/lib/Lemonldap/NG/Build/Attributes</code>) and rebuild LLNG</div>
</li>
</ul>
</div>
<!-- EDIT1 SECTION "Custom handlers" [1-269] -->
<h2 class="sectionedit2" id="use_custom_handler_with_nginx">Use custom handler with Nginx</h2>
<!-- EDIT3 SECTION "Enable it" [724-998] -->
<h2 class="sectionedit4" id="add_a_new_platform">Add a new platform</h2>
<div class="level2">
<p>
LLNG provides 3 platforms:
</p>
<ul>
<li class="level1"><div class="li"> ApacheMP2</div>
</li>
<li class="level1"><div class="li"> FastCGI server <em>(Nginx is build from there)</em></div>
</li>
<li class="level1"><div class="li"> Auto-protected PSGI</div>
</li>
</ul>
<p>
If you want to add another, you must write:
</p>
<ul>
<li class="level1"><div class="li"> the platform launcher file that launch the required type <em>(see <code>lemonldap-ng-handler/lib/Lemonldap/NG/Handler/ApacheMP2</code> file for example)</em></div>
</li>
<li class="level1"><div class="li"> write the main platform file (<code>Lemonldap::NG::Handler::MyPlatform::Main</code>) that provides required method <em>(see <code>lemonldap-ng-handler/lib/Lemonldap/NG/Handler/*/Main</code> for examples)</em> and inherits from <code>Lemonldap::NG::Handler::Main</code></div>
</li>
<li class="level1"><div class="li"> write the “type” wrapper files (AuthBasic,…).</div>
</li>
</ul>
<p>
Wrapper usually look at this:
</p>
<pre class="code file perl"><a href="http://perldoc.perl.org/functions/package.html"><span class="kw3">package</span></a> Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">MyPlatform</span><span class="sy0">::</span><span class="me2">AuthBasic</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">use</span> base <span class="st_h">'Lemonldap::NG::Handler::MyPlatform::Main'</span><span class="sy0">,</span> <span class="st_h">'Lemonldap::NG::Handler::Lib::AuthBasic'</span><span class="sy0">;</span>
&nbsp;
<span class="nu0">1</span><span class="sy0">;</span></pre>
</div>
<!-- EDIT4 SECTION "Add a new platform" [999-1839] -->
<h2 class="sectionedit5" id="old_fashion_nginx_handlers">Old fashion Nginx handlers</h2>
<div class="level2">
<div class="noteimportant">There is no need to use this feature now. It is kept for compatibility.
</div>
<p>
Three actions are needed:
</p>
<ul>
<li class="level1"><div class="li"> declare them in the manager “General Parameters » Advanced Parameters » Custom handlers (Nginx)”. Key is the name that will be used below and value is the name of the custom package,</div>
<li class="level1"><div class="li"> declare your own module in the manager “General Parameters » Advanced Parameters » Custom handlers (Nginx)”. Key is the name that will be used below and value is the name of the custom package,</div>
</li>
<li class="level1"><div class="li"> in your Nginx configuration file, add <code>LLTYPE=&lt;name&gt;;</code> in the <code>location = /lmauth {…}</code> paragraph</div>
</li>
......@@ -75,6 +160,6 @@ Three actions are needed:
</ul>
</div>
<!-- EDIT2 SECTION "Use custom handler with Nginx" [270-] --></div>
<!-- EDIT5 SECTION "Old fashion Nginx handlers" [1840-] --></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:handlerarch</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,handlerarch"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="handlerarch.html"/>
<link rel="contents" href="handlerarch.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:handlerarch","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="handler_architecture">Handler architecture</h1>
<div class="level1">
<p>
Handlers are build on rows of modules:
</p>
<ul>
<li class="level1"><div class="li"> Applications or launchers that get the request and choose the good type <em>(Main, AuthBasic, ZimbraPreAuth,…)</em> and launch it <em>(may not inherits of other Handler::* modules)</em></div>
</li>
<li class="level1"><div class="li"> Wrappers that call “type” library and platform “Main” <em>(may all inherits from Platform::Main)</em></div>
</li>
<li class="level1"><div class="li"> library types if needed <em>(may inherits from Main)</em></div>
</li>
<li class="level1"><div class="li"> Main: the main handler library</div>
</li>
</ul>
</div>
<!-- EDIT1 SECTION "Handler architecture" [1-452] -->
<h2 class="sectionedit2" id="overview_of_handler_packages">Overview of Handler packages</h2>
<div class="level2">
<div class="table sectionedit3"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0 centeralign" colspan="2"> Platform </th><th class="col2 centeralign" rowspan="2"> Wrapper </th><th class="col3 centeralign" rowspan="2"> Types </th><th class="col4 centeralign" rowspan="2"> Main </th>
</tr>
<tr class="row1 rowodd">
<th class="col0 centeralign"> Applications </th><th class="col1 centeralign"> Launchers </th>
</tr>
</thead>
<tr class="row2 roweven">
<td class="col0"> </td><td class="col1 centeralign"> ApacheMP2 </td><td class="col2 centeralign"> ApacheMP2::&lt;type&gt; </td><td class="col3 centeralign" rowspan="3"> Lib::&lt;type&gt; </td><td class="col4 centeralign" rowspan="3"> Main </td>
</tr>
<tr class="row3 rowodd">
<td class="col0 centeralign" colspan="2"> Server </td><td class="col2 centeralign"> Server::&lt;type&gt; </td>
</tr>
<tr class="row4 roweven">
<td class="col0 centeralign" colspan="2"> PSGI </td><td class="col2 centeralign"> PSGI::&lt;type&gt; </td>
</tr>
</table></div>
<!-- EDIT3 TABLE [495-753] -->
<p>
Types are:
</p>
<ul>
<li class="level1"><div class="li"> <em>(Main)</em></div>
</li>
<li class="level1"><div class="li"> <a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic</a></div>
</li>
<li class="level1"><div class="li"> <a href="documentation/latest/applications/zimbra.html" class="wikilink1" title="documentation:latest:applications:zimbra">ZimbraPreAuth</a></div>
</li>
<li class="level1"><div class="li"> <a href="securetoken.html" class="wikilink1" title="documentation:2.0:securetoken">SecureToken</a></div>
</li>
</ul>
</div>
<!-- EDIT2 SECTION "Overview of Handler packages" [453-] --></div>
</body>
</html>
......@@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=4b672ef72fa0a5a16fe79036bfaaaf52" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=6cc832d32ee620a66fe468f5fc8a13ab" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
......@@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1486506640" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1486807643" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:selfmadeapplication</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,selfmadeapplication"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="selfmadeapplication.html"/>
......
This diff is collapsed.
......@@ -49,6 +49,7 @@
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#prerequisites_and_dependencies">Prerequisites and dependencies</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#assistance">Assistance</a></div></li>
<li class="level1"><div class="li"><a href="#developer_corner">Developer corner</a></div></li>
......@@ -71,7 +72,16 @@ LLNG can propose to users to register their keys. When done, registered user can
</div>
</div>
<!-- EDIT1 SECTION "Universal 2nd Factor Authentication (U2F)" [1-521] -->
<h2 class="sectionedit2" id="configuration">Configuration</h2>
<h2 class="sectionedit2" id="prerequisites_and_dependencies">Prerequisites and dependencies</h2>
<div class="level2">
<p>
This feature uses <a href="https://metacpan.org/pod/Crypt::U2F::Server::Simple" class="urlextern" title="https://metacpan.org/pod/Crypt::U2F::Server::Simple" rel="nofollow">Crypt::U2F::Server::Simple</a> that is available only via CPAN for now. Before compiling it, you must install Yubico&#039;s C library headers (called libu2f-server-dev on Debian).
</p>
</div>
<!-- EDIT2 SECTION "Prerequisites and dependencies" [522-811] -->
<h2 class="sectionedit3" id="configuration">Configuration</h2>
<div class="level2">
<p>
......@@ -85,8 +95,8 @@ In the manager (advanced parameters), you just have to enable it:
</ul>
</div>
<!-- EDIT2 SECTION "Configuration" [522-818] -->
<h2 class="sectionedit3" id="assistance">Assistance</h2>
<!-- EDIT3 SECTION "Configuration" [812-1108] -->
<h2 class="sectionedit4" id="assistance">Assistance</h2>
<div class="level2">
<p>
......@@ -94,14 +104,14 @@ If a user lost its key, you may remove it&#039;s persistent session using the se
</p>
</div>
<!-- EDIT3 SECTION "Assistance" [819-934] -->
<h2 class="sectionedit4" id="developer_corner">Developer corner</h2>
<!-- EDIT4 SECTION "Assistance" [1109-1224] -->
<h2 class="sectionedit5" id="developer_corner">Developer corner</h2>
<div class="level2">
<p>
If you have another U2F registration interface, you have to populate session (using exported variables) to set these keys:
</p>
<div class="table sectionedit5"><table class="inline table table-bordered table-striped">
<div class="table sectionedit6"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0"> Name </th><th class="col1"> Value </th>
......@@ -114,12 +124,12 @@ If you have another U2F registration interface, you have to populate session (us
<td class="col0"> _u2fUserKey </td><td class="col1"> user key value, base64 encoded </td>
</tr>
</table></div>
<!-- EDIT5 TABLE [1089-1207] -->
<!-- EDIT6 TABLE [1379-1497] -->
<p>
Note that both “origin” and “appId” are fixed to portal <abbr title="Uniform Resource Locator">URL</abbr>.
</p>
</div>
<!-- EDIT4 SECTION "Developer corner" [935-] --></div>
<!-- EDIT5 SECTION "Developer corner" [1225-] --></div>
</body>
</html>
......@@ -51,6 +51,7 @@
<ul class="toc">
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#security">Security</a></div></li>
<li class="level1"><div class="li"><a href="#rules_and_headers">Rules and headers</a></div></li>
<li class="level1"><div class="li"><a href="#supported_servers">Supported servers</a></div></li>
<li class="level1"><div class="li"><a href="#soaprest_services">SOAP/REST services</a></div></li>
<li class="level1"><div class="li"><a href="#developer_corner">Developer corner</a></div>
......@@ -80,12 +81,12 @@
</ul>
<div class="notewarning">Apache-ModPerl is no longer usable since version 2.4 <em>(many segfaults,…)</em>. LLNG doesn&#039;t use anymore ModPerl::Registry: all is now handle by FastCGI <em>(portal and manager)</em>.
<p>
<strong>For handlers, it is now recommended to migrate to Nginx !</strong>
<strong>For handlers, it is now recommended to migrate to Nginx</strong>, but Apache-2 is still supported
</p>
</div>
</div>
<!-- EDIT2 SECTION "Configuration" [163-792] -->
<!-- EDIT2 SECTION "Configuration" [163-823] -->
<h2 class="sectionedit3" id="security">Security</h2>
<div class="level2">
......@@ -100,8 +101,17 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT3 SECTION "Security" [793-1360] -->
<h2 class="sectionedit4" id="supported_servers">Supported servers</h2>
<!-- EDIT3 SECTION "Security" [824-1391] -->
<h2 class="sectionedit4" id="rules_and_headers">Rules and headers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> pseudo variable <code>$ip</code> is replaced by <code><a href="extendedfunctions.html#request_information" class="wikilink1" title="documentation:2.0:extendedfunctions">remote_ip()</a></code> function in <a href="writingrulesand_headers.html" class="wikilink1" title="documentation:2.0:writingrulesand_headers">rules and headers</a>. Note that session variable <code>$ipAddr</code> <em>(remote address seen by portal)</em> is still available</div>
</li>
</ul>
</div>
<!-- EDIT4 SECTION "Rules and headers" [1392-1677] -->
<h2 class="sectionedit5" id="supported_servers">Supported servers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Apache-1.3 files are not provided now. You can build them yourself by looking at Apache-2 configuration files</div>
......@@ -109,8 +119,8 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT4 SECTION "Supported servers" [1361-1506] -->
<h2 class="sectionedit5" id="soaprest_services">SOAP/REST services</h2>
<!-- EDIT5 SECTION "Supported servers" [1678-1823] -->
<h2 class="sectionedit6" id="soaprest_services">SOAP/REST services</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> SOAP server activation is now split in 2 parameters (configuration/sessions). You must set them else SOAP service will be disabled</div>
......@@ -122,13 +132,13 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT5 SECTION "SOAP/REST services" [1507-1847] -->
<h2 class="sectionedit6" id="developer_corner">Developer corner</h2>
<!-- EDIT6 SECTION "SOAP/REST services" [1824-2164] -->
<h2 class="sectionedit7" id="developer_corner">Developer corner</h2>
<div class="level2">
</div>
<!-- EDIT6 SECTION "Developer corner" [1848-1877] -->
<h3 class="sectionedit7" id="apis">APIs</h3>
<!-- EDIT7 SECTION "Developer corner" [2165-2194] -->
<h3 class="sectionedit8" id="apis">APIs</h3>
<div class="level3">
<p>
......@@ -136,8 +146,8 @@ Portal has now many REST features and includes a plugin <abbr title="Application
</p>
</div>
<!-- EDIT7 SECTION "APIs" [1878-2035] -->
<h3 class="sectionedit8" id="portal_overview">Portal overview</h3>
<!-- EDIT8 SECTION "APIs" [2195-2352] -->
<h3 class="sectionedit9" id="portal_overview">Portal overview</h3>
<div class="level3">
<p>
......@@ -158,12 +168,12 @@ The request is a separated object based on Lemonldap::NG::Portal::Main::Request
</p>
</div>
<!-- EDIT8 SECTION "Portal overview" [2036-2483] -->
<h3 class="sectionedit9" id="handler">Handler</h3>
<!-- EDIT9 SECTION "Portal overview" [2353-2800] -->
<h3 class="sectionedit10" id="handler">Handler</h3>
<div class="level3">
<div class="noteimportant">Handler libraries have been changed another time. Inheritance is back (like 1.3.3). We are sorry for this new inconvenience.
<div class="noteimportant">Handler libraries have been totally rewritten. If you&#039;ve made custom handlers, they must be rewritten. See <a href="customhandlers.html" class="wikilink1" title="documentation:2.0:customhandlers">customhandlers</a>
</div>
</div>
<!-- EDIT9 SECTION "Handler" [2484-] --></div>
<!-- EDIT10 SECTION "Handler" [2801-] --></div>
</body>
</html>