Banco de dados
Sincronizador de Banco de Dados
A tabela de usuários que criamos como uma demonstração é importada do arquivo XLSX modelo.
Para criar um novo sincronizador, vá até a aba Sincronizadores e preencha todas as informações necessárias conforme mostrado abaixo. Então, salve as alterações.
Em geral, você precisa preencher pelo menos o ID
e Name
nas colunas do Casdoor. Outros campos importantes incluem createdTime
, Password
e DisplayName
.
Os seguintes campos são obrigatórios:
Organization
: A organização para a qual o usuário será importadoName
: O nome do sincronizadorType
: Selecione "banco de dados"Host
: O host do banco de dados originalPort
: A porta do banco de dados originalUser
: O nome de usuário do banco de dados originalPassword
: A senha do banco de dados originalDatabase type
: Todos os bancos de dados suportados pelo Xorm, como MySQL, PostgreSQL, SQL Server, Oracle e SQLiteDatabase
: O nome do banco de dados originalTable
: O nome da tabela de usuários originalColunas da tabela
Column name
: O nome da coluna de usuários originalColumn type
: O tipo da coluna de usuários originalCasdoor Column
: O nome da coluna de usuário do Casdoor
Campos opcionais:
Is hashed
: Se deve calcular o valor hash. Quando esta opção está ativada, o sincronizador só sincronizará o usuário se o campo do usuário na tabela de origem for atualizado. Se esta opção estiver desativada, o sincronizador ainda sincronizará o usuário mesmo que apenas o campo seja atualizado. Em resumo, o usuário não será sincronizado até que os campos envolvidos no cálculo do hash (ativado "Is hashed") sejam atualizados.Is key
: Se é a chave primária do usuário na tabela de origem e do usuário na tabela do Casdoor. Ao sincronizar o banco de dados, é determinado com base no campo cuja opção "Is key" é selecionada. Pelo menos um dos botões "Is key" para os campos deve ser selecionado. Se nenhum for selecionado, a primeira opção "Is key" é selecionada por padrão.Avatar base URL
: Ao sincronizar usuários, se o Avatar base URL não estiver vazio e o user.avatar de origem não tiver o prefixo "http", o novo user.avatar será substituído por Avatar base URL + user.avatar.Affiliation table
: É usada para sincronizar a filiação do usuário a partir desta tabela no banco de dados. Como a filiação pode ser um código do tipo int na "Tabela de filiação", é necessário mapeá-la para uma string. Consulte getAffiliationMap(). O Casdoor tem alguns campos redundantes para emprestar, então aqui usamosscore
para mapear o código int para um nome de string.
Uma vez que você tenha configurado o sincronizador, ative a opção Is enable e salve. O sincronizador começará a funcionar.
Você também pode usar o botão "Sincronizar" para sincronização de banco de dados.
Atualizar
Quando as Colunas da tabela
estão configuradas conforme mostrado na figura a seguir, a operação de atualização é realizada.
Se os dados nas duas tabelas forem diferentes para a chave, você pode sincronizar os dados entre as duas tabelas com base na chave primária.
- Atualizar usuário na tabela original
- Atualizar usuário na tabela do Casdoor
Adicionar
Quando as Colunas da tabela
estão configuradas conforme mostrado na figura a seguir, a operação de adição é realizada.
Se o número de dados entre as duas tabelas for diferente, adicione os dados à tabela com o menor número de dados com base na chave primária.
- Adicionar usuário na tabela original
- Adicionar usuário na tabela do Casdoor