Base de données
Synchroniseur de base de données
La table des utilisateurs que nous avons créée comme démo est importée à partir du fichier modèle XLSX.
Pour créer un nouveau synchroniseur, allez à l'onglet Synchroniseurs et remplissez toutes les informations requises comme indiqué ci-dessous. Ensuite, sauvegardez les modifications.
En général, vous devez remplir au moins l'ID
et le Name
dans les colonnes Casdoor. D'autres champs importants incluent createdTime
, Password
, et DisplayName
.
Les champs suivants sont requis :
Organization
: L'organisation à laquelle l'utilisateur sera importéName
: Le nom du synchroniseurType
: Sélectionnez "base de données"Host
: L'hôte de la base de données originalePort
: Le port de la base de données originaleUser
: Le nom d'utilisateur de la base de données originalePassword
: Le mot de passe de la base de données originaleDatabase type
: Toutes les bases de données supportées par Xorm telles que MySQL, PostgreSQL, SQL Server, Oracle et SQLiteDatabase
: Le nom de la base de données originaleTable
: Le nom de la table des utilisateurs originaleColonnes de la table
Column name
: Le nom de la colonne des utilisateurs originaleColumn type
: Le type de la colonne des utilisateurs originaleCasdoor Column
: Le nom de la colonne utilisateur Casdoor
Champs optionnels :
Is hashed
: Indique s'il faut calculer la valeur de hachage. Lorsque cette option est activée, le synchroniseur ne synchronisera l'utilisateur que si le champ de l'utilisateur dans la table d'origine est mis à jour. Si cette option est désactivée, le synchroniseur synchronisera toujours l'utilisateur même si seul le champ est mis à jour. En bref, l'utilisateur ne sera pas synchronisé tant que les champs impliqués dans le calcul du hachage (option "Is hashed" activée) ne sont pas mis à jour.Is key
: Indique s'il s'agit de la clé primaire de l'utilisateur dans la table d'origine et dans la table Casdoor. Lors de la synchronisation de la base de données, cela est déterminé en fonction du champ dont l'option "Is key" est sélectionnée. Au moins l'un des boutons "Is key" pour les champs doit être sélectionné. Si aucun n'est sélectionné, la première option "Is key" est sélectionnée par défaut.Avatar base URL
: Lors de la synchronisation des utilisateurs, si l'Avatar base URL n'est pas vide et que l'avatar de l'utilisateur d'origine user.avatar n'a pas le préfixe "http", le nouvel avatar de l'utilisateur user.avatar sera remplacé par Avatar base URL + user.avatar.Affiliation table
: Elle est utilisée pour synchroniser l'affiliation de l'utilisateur à partir de cette table dans la base de données. Comme l'affiliation peut être un code de type int dans la "Table d'affiliation", elle doit être mappée à une chaîne de caractères. Référez-vous à getAffiliationMap(). Casdoor a quelques champs redondants à emprunter, donc ici nous utilisonsscore
pour mapper le code int à un nom de chaîne.
Une fois que vous avez configuré le synchroniseur, activez l'option Is enable et sauvegardez. Le synchroniseur commencera à fonctionner.
Vous pouvez également utiliser le bouton "Sync" pour la synchronisation de la base de données.
Mettre à jour
Lorsque les Table columns
sont définies comme indiqué dans la figure suivante, l'opération de mise à jour est effectuée.
Si les données dans les deux tables sont différentes pour la clé, vous pouvez synchroniser les données entre les deux tables en fonction de la clé primaire.
- Mettre à jour l'utilisateur dans la table originale
- Mettre à jour l'utilisateur dans la table Casdoor
Ajouter
Lorsque les Table columns
sont définies comme indiqué dans la figure suivante, l'opération d'ajout est effectuée.
Si le nombre de données entre les deux tables est différent, ajoutez les données à la table avec le nombre de données le plus bas en fonction de la clé primaire.
- Ajouter un utilisateur dans la table originale
- Ajouter un utilisateur dans la table Casdoor