mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-18 00:09:06 +01:00
Add LSaddon::impersonate
This commit is contained in:
parent
1b38957235
commit
43cb6c3f93
8 changed files with 876 additions and 730 deletions
|
@ -12,6 +12,7 @@
|
||||||
&conf-LSaddon_accesslog;
|
&conf-LSaddon_accesslog;
|
||||||
&conf-LSaddon_asterisk;
|
&conf-LSaddon_asterisk;
|
||||||
&conf-LSaddon_exportSearchResultAsCSV;
|
&conf-LSaddon_exportSearchResultAsCSV;
|
||||||
|
&conf-LSaddon_impersonate;
|
||||||
&conf-LSaddon_LSaccessRightsMatrixView;
|
&conf-LSaddon_LSaccessRightsMatrixView;
|
||||||
&conf-LSaddon_mail;
|
&conf-LSaddon_mail;
|
||||||
&conf-LSaddon_maildir;
|
&conf-LSaddon_maildir;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<!ENTITY conf-LSaddon_accesslog SYSTEM "LSaddon_accesslog.docbook">
|
<!ENTITY conf-LSaddon_accesslog SYSTEM "LSaddon_accesslog.docbook">
|
||||||
<!ENTITY conf-LSaddon_asterisk SYSTEM "LSaddon_asterisk.docbook">
|
<!ENTITY conf-LSaddon_asterisk SYSTEM "LSaddon_asterisk.docbook">
|
||||||
<!ENTITY conf-LSaddon_exportSearchResultAsCSV SYSTEM "LSaddon_exportSearchResultAsCSV.docbook">
|
<!ENTITY conf-LSaddon_exportSearchResultAsCSV SYSTEM "LSaddon_exportSearchResultAsCSV.docbook">
|
||||||
|
<!ENTITY conf-LSaddon_impersonate SYSTEM "LSaddon_impersonate.docbook">
|
||||||
<!ENTITY conf-LSaddon_LSaccessRightsMatrixView SYSTEM "LSaddon_LSaccessRightsMatrixView.docbook">
|
<!ENTITY conf-LSaddon_LSaccessRightsMatrixView SYSTEM "LSaddon_LSaccessRightsMatrixView.docbook">
|
||||||
<!ENTITY conf-LSaddon_mail SYSTEM "LSaddon_mail.docbook">
|
<!ENTITY conf-LSaddon_mail SYSTEM "LSaddon_mail.docbook">
|
||||||
<!ENTITY conf-LSaddon_maildir SYSTEM "LSaddon_maildir.docbook">
|
<!ENTITY conf-LSaddon_maildir SYSTEM "LSaddon_maildir.docbook">
|
||||||
|
|
30
doc/conf/LSaddon/LSaddon_impersonate.docbook
Normal file
30
doc/conf/LSaddon/LSaddon_impersonate.docbook
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<sect2 id="config-LSaddon_impersonate">
|
||||||
|
<title>LSaddon_impersonate</title>
|
||||||
|
<para>Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée
|
||||||
|
comme &customActions; et permettant de se reconnecter en tant qu'un autre
|
||||||
|
utilisateur de l'annuaire.</para>
|
||||||
|
|
||||||
|
<para>Ci-dessous, vous trouverez un exemple de configuration de la fonction
|
||||||
|
<literal>impersonate()</literal> comme &customActions; :</para>
|
||||||
|
|
||||||
|
<programlisting linenumbering="unnumbered">
|
||||||
|
<citetitle>Exemple d'utilisation</citetitle><![CDATA[$GLOBALS['LSobjects']['LSpeople'] = array (
|
||||||
|
[...]
|
||||||
|
'customActions' => array (
|
||||||
|
'impersonate' => array (
|
||||||
|
'function' => 'impersonate',
|
||||||
|
'label' => 'Reconnect as this user',
|
||||||
|
'hideLabel' => True,
|
||||||
|
'noConfirmation' => true,
|
||||||
|
'disableOnSuccessMsg' => true,
|
||||||
|
'icon' => 'tech_info',
|
||||||
|
'rights' => array (
|
||||||
|
'admin'
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
[...]
|
||||||
|
);]]>
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
</sect2>
|
BIN
src/images/default/user_go.png
Normal file
BIN
src/images/default/user_go.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 793 B |
50
src/includes/addons/LSaddons.impersonate.php
Normal file
50
src/includes/addons/LSaddons.impersonate.php
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
<?php
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (C) 2007 Easter-eggs
|
||||||
|
* https://ldapsaisie.org
|
||||||
|
*
|
||||||
|
* Author: See AUTHORS file in top-level directory.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License version 2
|
||||||
|
* as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
// Error messages
|
||||||
|
LSerror :: defineError('IMPERSONATE_01',
|
||||||
|
___("Impersonate: Fail to reconnect as %{name}.")
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check support of impersonate addon by LdapSaisie
|
||||||
|
*
|
||||||
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
|
*
|
||||||
|
* @return boolean true if impersonate addon is totally supported, false in other case
|
||||||
|
*/
|
||||||
|
function LSaddon_impersonate_support() {
|
||||||
|
return True;
|
||||||
|
}
|
||||||
|
|
||||||
|
function impersonate($object) {
|
||||||
|
if (LSsession::changeAuthUser($object)) {
|
||||||
|
LSsession::addInfo(getFData(
|
||||||
|
_('Successfully reconnected as %{name}.'),
|
||||||
|
$object->getDisplayName()
|
||||||
|
));
|
||||||
|
LSurl::redirect('?LSsession_refresh');
|
||||||
|
return True;
|
||||||
|
}
|
||||||
|
LSerror :: addErrorCode('IMPERSONATE_01', $object->getDisplayName());
|
||||||
|
return False;
|
||||||
|
}
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue