X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fauth.php;h=79f495df904020fb7cccad3e99342ff06513a8c2;hb=e10bc2efb2f84bb7f503d9abb458d730535e5286;hp=ca07e3229fd1ebeb617eabb3285b211c33ed4e4e;hpb=756ff73fbb0cdd01cce2eda27ba18e1cc99bd735;p=platal.git diff --git a/modules/auth.php b/modules/auth.php index ca07e32..79f495d 100644 --- a/modules/auth.php +++ b/modules/auth.php @@ -159,12 +159,14 @@ class AuthModule extends PLModule } /* on parcourt les entrees de groupes_auth */ - $res = XDB::iterRow('SELECT privkey, name, datafields FROM groupesx_auth'); + $res = XDB::iterRow('SELECT privkey, name, datafields, returnurls FROM groupesx_auth'); - while (list($privkey,$name,$datafields) = $res->next()) { + while (list($privkey,$name,$datafields,$returnurls) = $res->next()) { if (md5($gpex_challenge.$privkey) == $gpex_pass) { - $returl = $gpex_url . gpex_make_params($gpex_challenge, $privkey, $datafields, $charset); - http_redirect($returl); + if ($returnurls == "" || @preg_match($returnurls, $gpex_url)) { + $returl = $gpex_url . gpex_make_params($gpex_challenge, $privkey, $datafields, $charset); + http_redirect($returl); + } } } @@ -180,6 +182,7 @@ class AuthModule extends PLModule $table_editor->describe('name','nom',true); $table_editor->describe('privkey','clé privée',false); $table_editor->describe('datafields','champs renvoyés',true); + $table_editor->describe('returnurls','urls de retour',true); $table_editor->apply($page, $action, $id); } }