207 lines
11 KiB
HTML
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> > <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>
|