lemonldap-ng/po-doc/fr/pages/documentation/current/authremote.html
Xavier Guimard 43fbe42b7e Update doc
2017-02-22 12:41:23 +00:00

207 lines
11 KiB
HTML

<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:authremote</title><!-- //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 --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authremote"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authremote.html"/>
<link rel="contents" href="authremote.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:authremote","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"><!-- 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="#presentation">Présentation</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#main_llng_structure">Système LL::NG principal</a></div></li>
<li class="level2"><div class="li"><a href="#secondary_llng_structure">Systèe LL::NG secondaire</a></div></li>
<li class="level2"><div class="li"><a href="#exampleinteroperability_between_2_organizations">Exemple : interoperabilité entre 2 organisations</a></div></li>
</ul></li>
</ul>
</div>
</div><!-- TOC END -->
<h1 class="sectionedit1" id="remote">Remote</h1>
<div class="level1">
<div class="table sectionedit2"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0 centeralign"> Authentification </th><th class="col1 centeralign"> Utilisateurs </th><th class="col2 centeralign"> Mot-de-passe </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0 centeralign"></td><td class="col1 centeralign"></td><td class="col2"> </td>
</tr>
</table></div><!-- EDIT2 TABLE [23-86] -->
<div class="notewarning">Ce module fournit un protocole de fédération d'identité spécifique à <abbr title="LemonLDAP::NG">LL::NG</abbr>. Il est préférable d'utiliser des protocoles standards tels <a href="idpsaml.html" class="wikilink1" title="documentation:2.0:idpsaml">SAML</a>, <a href="idpopenidconnect.html" class="wikilink1" title="documentation:2.0:idpopenidconnect">OpenID</a> ou <a href="idpcas.html" class="wikilink1" title="documentation:2.0:idpcas">CAS</a>.
</div>
</div><!-- EDIT1 SECTION "Remote" [1-289] -->
<h2 class="sectionedit3" id="presentation">Présentation</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Le portail principal est configuré pour utiliser le <abbr title="Authentification inter-domaines">CDA</abbr>. Le portail secondaire est declaré dans le Manager du système <abbr title="LemonLDAP::NG">LL::NG</abbr> principal comme une application (sinon les utilisateurs seront rejetés).</div>
</li>
<li class="level1"><div class="li"> Le portail du système <abbr title="LemonLDAP::NG">LL::NG</abbr> secondaire est configuré pour déléguer l'authentification à un portail distant. Une requête à la base de données des sessions principale est effectuée (via le <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>) pour être sûr que la session existe.</div>
</li>
<li class="level1"><div class="li"> Si <code>exportedAttr</code> est défini, seuls ces attributs sont copiés dans la base des sessions du système <abbr title="LemonLDAP::NG">LL::NG</abbr> secondaire. Sinon, toutes les données sont copiées.</div>
</li>
</ul>
<p>
<a href="documentation/remote-principle.png_documentation_2.0_authremote.html" class="media" title="documentation:remote-principle.png"><img src="documentation/remote-principle.png" class="mediacenter" alt="" /></a>
</p>
<ol>
<li class="level1"><div class="li"> Un utilisateur essaie d'accéder à une application du système <abbr title="LemonLDAP::NG">LL::NG</abbr> secondaire sans avoir de session dans cette aire</div>
</li>
<li class="level1"><div class="li"> Redirection vers le portail secondaire (transparent)</div>
</li>
<li class="level1"><div class="li"> Redirection vers le portail principal et authentification normale (sauf si déjà faite)</div>
</li>
<li class="level1"><div class="li"> Redirection vers le portail secondaire (transparent)</div>
</li>
<li class="level1"><div class="li"> Le portail secondaire vérifie que la session distante est valable. Ce peut être fait par accès direct à la base des sessions principale ou en utilisant une requête SOAP. Il crée la sessions (avec le filtre d'attributs)</div>
</li>
<li class="level1"><div class="li"> L'utilisateur peut maintenant accéder aux applications</div>
</li>
</ol>
<div class="noteclassic">Noter que si l'utilisateur est déjà authentifié sur le premier portail, toutes les redirections sont transparentes.
</div>
</div><!-- EDIT3 SECTION "Presentation" [290-1635] -->
<h2 class="sectionedit4" id="configuration">Configuration</h2>
<div class="level2">
</div><!-- EDIT4 SECTION "Configuration" [1636-1662] -->
<h3 class="sectionedit5" id="main_llng_structure">Système LL::NG principal</h3>
<div class="level3">
<p>
Aller dans le manager et :
</p>
<ul>
<li class="level1"><div class="li"> activer le <abbr title="Authentification inter-domaines">CDA</abbr> dans <code>Paramètres généraux</code> » <code>Cookies</code> » <code>Domaines multiples</code></div>
</li>
<li class="level1"><div class="li"> declarer le second portail dans <code>Paramètres généraux</code> » <code>Paramètres avancés</code> » <code>Sécurité</code> » <code>Domaines approuvés</code></div>
</li>
</ul>
</div><!-- EDIT5 SECTION "Main LL::NG structure" [1663-1919] -->
<h3 class="sectionedit6" id="secondary_llng_structure">Systèe LL::NG secondaire</h3>
<div class="level3">
<p>
Configurer le portail pour qu'il utilise le système <abbr title="LemonLDAP::NG">LL::NG</abbr> distant.
</p>
<p>
Dans le manager, aller dans <code>Paramètres généraux</code> &gt; <code>Modules d'authentification</code> et choisir Remote pour les modules authentification et utilisateurs.
</p>
<p>
Ensuite, aller dans les <code>paramètres Remote</code> :
</p>
<ul>
<li class="level1"><div class="li"> <strong>Portail <abbr title="Uniform Resource Locator">URL</abbr></strong>: <abbr title="Uniform Resource Locator">URL</abbr> du portail distant</div>
</li>
<li class="level1"><div class="li"> <strong>Nom du cookie</strong> (optionnel) : nom du cookie du portail primaire, s'il est différent de celui du portail secondaire</div>
</li>
<li class="level1"><div class="li"> <strong>Module de sessions</strong> : mettre <code>Lemonldap::NG::Common::Apache::Session::SOAP</code> pour le <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>.</div>
</li>
<li class="level1"><div class="li"> <strong>Options du module de sessions</strong> :</div>
<ul>
<li class="level2"><div class="li"> <strong>proxy</strong>: point d'accès SOAP (voir la documentation du <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>)</div>
</li>
</ul>
</li>
</ul>
</div><!-- EDIT6 SECTION "Secondary LL::NG structure" [1920-2580] -->
<h3 class="sectionedit7" id="exampleinteroperability_between_2_organizations">Exemple : interoperabilité entre 2 organisations</h3>
<div class="level3">
<p>
En utilisant ce système, on peut avoir une simple interopérabilité entre 2 organisations utilisant chacune leur système <abbr title="LemonLDAP::NG">LL::NG</abbr> :
</p>
<ul>
<li class="level1"><div class="li"> chacune a 2 portails:</div>
<ul>
<li class="level2"><div class="li"> Un portail standard</div>
</li>
<li class="level2"><div class="li"> One remote portal that delegates authentication to the second organization (just another file on the same server)</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Le portail normal dispose d'un lien dans le formulaire d'authentification pointant vers le portail destiné aux utilisateurs de l'autre organisation</div>
</li>
</ul>
<p>
Ainsi sur chacun des portails principaux, les utilisateurs internes peuvent accéder normalement et les utilisateurs de l'autre organisation n'ont qu'à cliquer sur le lien :
</p>
<p>
<a href="documentation/remote-interoperability.png_documentation_2.0_authremote.html" class="media" title="documentation:remote-interoperability.png"><img src="documentation/remote-interoperability.png" class="mediacenter" alt="" /></a>
</p>
<ol>
<li class="level1"><div class="li"> Un utilisateur tente d'accéder au portail</div>
</li>
<li class="level1"><div class="li"> L'utilisateur externe clique pour être redirigé vers le second portail</div>
</li>
<li class="level1"><div class="li"> Après redirection, authentification normale sur le portail distant (celui de son organisation)</div>
</li>
<li class="level1"><div class="li"> Redirection vers le portail de type remote</div>
</li>
<li class="level1"><div class="li"> Validation de la session : l'utilisateur externe dispose ainsi d'un session locale</div>
</li>
</ol>
</div><!-- EDIT7 SECTION "Example: interoperability between 2 organizations" [2581-] -->
</div>
</body>
</html>