From 88475392553f41030034e744a31f79a70f391e5c Mon Sep 17 00:00:00 2001 From: Anthony Borghi <anthony.borghi@veremes.com> Date: Thu, 28 Feb 2019 17:41:15 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20de=20la=20properties=20pour=20d=C3=A9sa?= =?UTF-8?q?ctiver=20la=20crypto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/modules/vitis/forms/user/user_vitis_user.json | 10 ++++++---- client/modules/vitis/lang/lang-en.json | 1 + client/modules/vitis/lang/lang-fr.json | 1 + vas/rest/ws/vitis/Users.class.inc | 9 +++++++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/client/modules/vitis/forms/user/user_vitis_user.json b/client/modules/vitis/forms/user/user_vitis_user.json index 6f550c0b..6042656c 100644 --- a/client/modules/vitis/forms/user/user_vitis_user.json +++ b/client/modules/vitis/forms/user/user_vitis_user.json @@ -152,14 +152,16 @@ } ] }, - "default_value": false + "default_value": false, + "visible": "oProperties.enableEncryptionForUsers == true ? true : false" }, { "type": "hidden", "name": "encrypted_secretkey", "label": "", "required": false, - "nb_cols": 1 + "nb_cols": 1, + "visible": "oProperties.enableEncryptionForUsers == true ? true : false" }, { "type": "password", @@ -167,9 +169,9 @@ "label": "FORM_SECRETKEY_USER_USER", "required": false, "pattern": "^[^\t\r\n]+$", - "visible": "= {{dataencrypt}} === true", + "visible": "= {{dataencrypt}} === true && oProperties.enableEncryptionForUsers", "tooltip": { - "title":"", + "title":"FORM_DATAENCRYPT_TOOLTIP_USER_TITLE", "content":"FORM_DATAENCRYPT_TOOLTIP_USER_USER", "container": "body", "html": true diff --git a/client/modules/vitis/lang/lang-en.json b/client/modules/vitis/lang/lang-en.json index c59597f5..b383a8af 100644 --- a/client/modules/vitis/lang/lang-en.json +++ b/client/modules/vitis/lang/lang-en.json @@ -152,6 +152,7 @@ "FORM_PHONE_USER_USER" : "Telephone number (for SMS) in international E.164 format (+33 6 xx xx xx xx)", "FORM_TIMEZONE_ID_USER_USER" : "Time Zone", "FORM_FORMATDATE_ID_USER_USER" : "Date display format", + "FORM_DATAENCRYPT_TOOLTIP_USER_TITLE" : "Data encryption", "FORM_DATAENCRYPT_TOOLTIP_USER_USER" : "The results produced by GTF will be encrypted using the \"AES 256\" algorithm, you will need a suitable tool to open these files. (ex: 7zip)", "": "", "USER_ROLE_TOOLTIP_TITLE_USERS_USER": "Description", diff --git a/client/modules/vitis/lang/lang-fr.json b/client/modules/vitis/lang/lang-fr.json index 79046043..7ed0e043 100644 --- a/client/modules/vitis/lang/lang-fr.json +++ b/client/modules/vitis/lang/lang-fr.json @@ -154,6 +154,7 @@ "FORM_PHONE_USER_USER" : "N° de téléphone (pour SMS) au format international E.164 (+33 6 xx xx xx xx)", "FORM_TIMEZONE_ID_USER_USER" : "Fuseau horaire", "FORM_FORMATDATE_ID_USER_USER" : "Format d'affichage des dates", + "FORM_DATAENCRYPT_TOOLTIP_USER_TITLE" : "Cryptage des données", "FORM_DATAENCRYPT_TOOLTIP_USER_USER" : "Le cryptage des données entraîne le chiffrement avec l’algorithme AES-256 des jeux de données générés par GTF et téléchargeables. Si la clef de chiffrement personnelle n'est pas définie, une clé est générée aléatoirement à chaque traitement et envoyée à l'utilisateur avec le mail optionnel de notification. Cette clef ne peut pas être retrouvée et le message ne peut pas être renvoyé. Les utilisateurs doivent donc demander a être notifiés de la fin du traitement (fonctionnement par défaut) si leur clé de chiffrement n'est pas définie.", "": "", "USER_ROLE_TOOLTIP_TITLE_USERS_USER": "Description", diff --git a/vas/rest/ws/vitis/Users.class.inc b/vas/rest/ws/vitis/Users.class.inc index 85fa8078..dbd30e03 100755 --- a/vas/rest/ws/vitis/Users.class.inc +++ b/vas/rest/ws/vitis/Users.class.inc @@ -271,6 +271,10 @@ class Users extends Vitis { $aXmlRacineAttribute['status'] = 0; $sMessage = $oError->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); } else { + // suppression des valeur permettant d'activer l'encryption lors du post pour que l'administrateur ne puisse pas l'activer à travers l'API + unset($this->aValues['secretkey']); + unset($this->aValues['dataencrypt']); + unset($this->aValues['encrypted_secretkey']); // insert user in table $iId = $this->oConnection->oBd->insert($this->aProperties['schema_framework'], 'v_user', $this->aValues, $this->aProperties['schema_framework'] . '.seq_common', 'user_id'); if ($this->oConnection->oBd->enErreur()) { @@ -417,6 +421,11 @@ class Users extends Vitis { $sLogin = str_replace(array('à', 'â', 'ä', 'á', 'ã', 'å', 'î', 'ï', 'ì', 'í', 'ô', 'ö', 'ò', 'ó', 'õ', 'ø', 'ù', 'û', 'ü', 'ú', 'é', 'è', 'ê', 'ë', 'ç', 'ÿ', 'ñ'), array('a', 'a', 'a', 'a', 'a', 'a', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'e', 'e', 'e', 'e', 'c', 'y', 'n',), $sLogin); unset($this->aValues['login']); $this->aValues['secretkey'] = $this->aValues['encrypted_secretkey']; + if($this->aProperties['enableEncryptionForUsers'] !== true){ + unset($this->aValues['secretkey']); + unset($this->aValues['dataencrypt']); + unset($this->aValues['encrypted_secretkey']); + } $aReturn = $this->genericPut($this->aProperties['schema_framework'], 'v_user', 'user_id'); $aXmlRacineAttribute['status'] = $aReturn['sStatus']; $sMessage = $aReturn['sMessage']; -- GitLab