diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f12dec75ed0bd16f441e95778ceb5fc5fba80a..6b4bbdf78392e390df14a5015d7cf98ad3e07332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,50 +1,59 @@ CHANGELOG ========= -3.0.0 (17/09/2019) ------------------- -Première version officielle sous ZF3. +3.2.0 +----- +- Configuration de la stratégie d'extraction d'un identifiant utile parmi les données d'authentification shibboleth + (config 'shib_user_id_extractor'). +- Possibilité de connaître la source de l'authentification (db, ldap, cas, shib). +- Possibilité de stopper l'usurpation en cours pour revenir à l'identité d'origine. +- Enregistrement du dernier rôle sélectionné pour pouvoir y revenir à la reconnexion. + *ATTENTION : nouvelle colonne `LAST_ROLE_ID` à créer dans la table `USER`, cf. SQL dans [data/](./data/).* +- [FIX] Usurpation d'un compte local en BDD. +- [FIX] Lorsque l'usurpateur stoppait l'usurpation, il ne récupérait pas son dernier endossé +- [FIX] En cas d'usurpation puis de déconnexion puis de reconnexion, on revenait dans la peau de l'usurpé sans pouvoir + stopper l'usurpation -3.0.1 (18/09/2019) ------------------- -- Corrections - - Correction de ModuleOptionsFactory qui ne respectait son interface FactoryInterface. -3.0.11 (07/10/2020) -------------------- -- Affichage de l'utilisateur connecté : ajout d'un triangle indiquant que ça se déroule. +3.1.2 +----- +- Aide de vue UserUsurpationHelper : ajout de la possibilité de dessiner un simple bouton. + + +3.1.1 +----- +- Correction bug : test d'activation manquant dans les adapteurs Db et Ldap. -3.0.12 (05/11/2020) -------------------- -- Ajout d'une méthode pour pouvoir purger la liste des rôles courante. 3.1.0 ----- - Typage des authentifications - - Pages de connexion différentes selon le type d'authentification : shib ; db ou ldap ; cas. - - Possibilité d'ordonner les formulaires de connexion proposés (config). - - Possibilité d'ajouter une description HTML à chaque formulaire de connexion (config). - - Chaque adapter peut désormais tester s'il est compétent pour traiter la requête d'authentification. - - Création d'un adapter d'authentification comme les autres pour Shib. + - Pages de connexion différentes selon le type d'authentification : shib ; db ou ldap ; cas. + - Possibilité d'ordonner les formulaires de connexion proposés (config). + - Possibilité d'ajouter une description HTML à chaque formulaire de connexion (config). + - Chaque adapter peut désormais tester s'il est compétent pour traiter la requête d'authentification. + - Création d'un adapter d'authentification comme les autres pour Shib. - Réparation du mécanisme de redirection vers l'URL demandée avant connexion. - Correction du bug de rémanence de l'authentification shibboleth simulée. -- Authentification LDAP : levée d'une exception en cas de survenue d'une erreur LDAP. +- Authentification LDAP : levée d'une exception en cas de survenue d'une erreur LDAP. -3.1.1 ------ -- Correction bug : test d'activation manquant dans les adapteurs Db et Ldap. -3.1.2 ------ -- Aide de vue UserUsurpationHelper : ajout de la possibilité de dessiner un simple bouton. +3.0.12 (05/11/2020) +------------------- +- Ajout d'une méthode pour pouvoir purger la liste des rôles courante. -3.2.0 ------ -- Configuration de la stratégie d'extraction d'un identifiant utile parmi les données d'authentification shibboleth - (config 'shib_user_id_extractor'). -- Possibilité de connaître la source de l'authentification (db, ldap, cas, shib). -- Possibilité de stopper l'usurpation en cours pour revenir à l'identité d'origine. -- [FIX] Usurpation d'un compte local en BDD. -- [FIX] Lorsque l'usurpateur stoppait l'usurpation, il ne récupérait pas son dernier endossé -- [FIX] En cas d'usurpation puis de déconnexion puis de reconnexion, on revenait dans la peau de l'usurpé sans pouvoir - stopper l'usurpation \ No newline at end of file + +3.0.11 (07/10/2020) +------------------- +- Affichage de l'utilisateur connecté : ajout d'un triangle indiquant que ça se déroule. + + +3.0.1 (18/09/2019) +------------------ +- Corrections + - Correction de ModuleOptionsFactory qui ne respectait son interface FactoryInterface. + + +3.0.0 (17/09/2019) +------------------ +Première version officielle sous ZF3. \ No newline at end of file diff --git a/data/schema.sqlite.sql b/data/schema.sqlite.sql index d903a9e28b4c65c76724393191c44132e7352a9d..5e8a087ac525dad531be819c7f0320c28125fd3c 100644 --- a/data/schema.sqlite.sql +++ b/data/schema.sqlite.sql @@ -5,7 +5,8 @@ CREATE TABLE IF NOT EXISTS user email VARCHAR(255) DEFAULT NULL, display_name VARCHAR(64) DEFAULT NULL, password VARCHAR(128) NOT NULL, - state SMALLINT default 1 + state SMALLINT default 1, + last_role_id INTEGER default null ); ALTER TABLE user ADD PASSWORD_RESET_TOKEN varchar(256) DEFAULT NULL; CREATE UNIQUE INDEX user_unique_username ON user(username); diff --git a/data/schema_mysql.sql b/data/schema_mysql.sql index e4f08904f8edd55e22d67ac6b286187ef99d13a0..4b17d9a36ad48bc9b61bb77c651f7465a989cb4a 100644 --- a/data/schema_mysql.sql +++ b/data/schema_mysql.sql @@ -5,6 +5,7 @@ CREATE TABLE user ( display_name VARCHAR(64) DEFAULT NULL, password VARCHAR(128) NOT NULL, state SMALLINT default 1, + last_role_id INT(11) default null, PRIMARY KEY (id), UNIQUE INDEX unique_username (username ASC) ) ENGINE=InnoDB DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; diff --git a/data/schema_oracle.sql b/data/schema_oracle.sql index c1ff9a39d54cd9a9a2cbfc7b9135e33e12b8b9ed..19cea72888b9d66f4f4f9d45dfe712d756d98653 100644 --- a/data/schema_oracle.sql +++ b/data/schema_oracle.sql @@ -5,8 +5,10 @@ CREATE TABLE "USER" "DISPLAY_NAME" VARCHAR2(64 CHAR), "PASSWORD" VARCHAR2(128 CHAR) NOT NULL ENABLE, "STATE" SMALLINT DEFAULT 1 NOT NULL ENABLE, + "last_role_id" NUMBER(*,0), CONSTRAINT "USER_PK" PRIMARY KEY ("ID"), - CONSTRAINT "USER_USERNAME_UN" UNIQUE ("USERNAME") + CONSTRAINT "USER_USERNAME_UN" UNIQUE ("USERNAME"), + CONSTRAINT "USER_LAST_ROLE_FK" FOREIGN KEY ("last_role_id") REFERENCES USER_ROLE ("ID") ENABLE ); CREATE SEQUENCE "USER_ID_SEQ" ; diff --git a/data/schema_postgresql.sql b/data/schema_postgresql.sql index ccef50c1781f542d6d5e6a83f37dae472f143ba4..21b51a142c81b81ce4e9b90c877992203d0a8b14 100644 --- a/data/schema_postgresql.sql +++ b/data/schema_postgresql.sql @@ -4,7 +4,9 @@ CREATE TABLE "user" ( email VARCHAR(255) DEFAULT NULL, display_name VARCHAR(64) DEFAULT NULL, password VARCHAR(128) NOT NULL, - state SMALLINT default 1 + state SMALLINT default 1, + last_role_id SMALLINT, + FOREIGN KEY (last_role_id) REFERENCES user_role (id) ON DELETE SET NULL ) ; CREATE UNIQUE INDEX user_username_unique ON "user" (username);