fr:devel:working_example_of_trustexternal
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | fr:devel:working_example_of_trustexternal [2018-01-15 10:53] (Version actuelle) – créée alskar | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Exemple d’implémentation pour trustExternal() ====== | ||
+ | Voici les détails dont vous avez besoin de savoir pour éclaircir la documentation : | ||
+ | - La fonction trustExternal() sera appelée à chaque chargement de page. Cependant, les paramètres //$user// et //$pass// ne sont non vide (ou non null?) que lorsque l' | ||
+ | - Vous devez remplir le tableau // | ||
+ | |||
+ | Donc, une solution est de vérifier d' | ||
+ | |||
+ | Voici une solution complète. Cet exemple vérifie une base de données mongodb, mais il est possible de changer facilement ceci pour utiliser n' | ||
+ | |||
+ | <code php auth_mongodb.class.php> | ||
+ | class auth_mongodb extends auth_basic { | ||
+ | |||
+ | var $connection = null; | ||
+ | |||
+ | function __construct() { | ||
+ | global $config_cascade; | ||
+ | global $connection; | ||
+ | |||
+ | $this-> | ||
+ | $this-> | ||
+ | |||
+ | $connection = new Mongo(" | ||
+ | } | ||
+ | |||
+ | function trustExternal($user, | ||
+ | |||
+ | global $USERINFO; | ||
+ | global $conf; | ||
+ | global $connection; | ||
+ | |||
+ | $sticky ? $sticky = true : $sticky = false; //sanity check | ||
+ | |||
+ | if (!empty($_SESSION[DOKU_COOKIE][' | ||
+ | $USERINFO[' | ||
+ | $USERINFO[' | ||
+ | $USERINFO[' | ||
+ | $_SERVER[' | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | if (!empty($user)) { | ||
+ | // vérification en base | ||
+ | $collection = $connection-> | ||
+ | $login = $collection-> | ||
+ | if ($login == null) return false; | ||
+ | |||
+ | if ($login[' | ||
+ | msg(' | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | // definir les varaible global | ||
+ | $USERINFO[' | ||
+ | $USERINFO[' | ||
+ | $USERINFO[' | ||
+ | $_SERVER[' | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | return true; | ||
+ | } else { | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ |
fr/devel/working_example_of_trustexternal.txt · Dernière modification : 2018-01-15 10:53 de alskar