Estendendo o LDAP e o FreeIPA

2

Estou trabalhando com o FreeIPA e estendi seus atributos com sucesso, mas notei que a função de verificação no plug-in do Python, adicionada ao FreeIPA, funciona apenas para os valores inseridos por meio da linha de comando. Os valores inseridos pela interface do usuário da web são armazenados como estão sem verificação.

Portanto, fiquei pensando em adicionar as seguintes modificações no servidor:

  1. Ative a interface da Web do FreeIPA para verificar o valor do atributo antes de armazená-lo.
  2. Crie um novo tipo de sintaxe a ser usado pelo LDAP (como uma sintaxe para o tipo sanguíneo).
  3. Altere a caixa de texto do atributo na interface do usuário da web para uma lista suspensa.
por Muhmmad Aziz 16.05.2015 / 08:25

1 resposta

2

  1. Para permitir que a WebUI verifique a entrada do usuário, ela não é necessária, pois a verificação pode ser feita pela função de verificação no plug-in FreeIPA Python (eu precisei reinicializar meu servidor para que as mudanças entrem em vigor).
  2. Não é necessário criar uma nova sintaxe, queria substituí-la pelo processo de verificação e, como ela está funcionando, não é necessário.
  3. Para alterar um tipo de campo de atributo, você precisa adicionar "$ type" ao criar o novo campo de atributo no arquivo javascript:

crie uma área de texto:

section.fields.push({
     $type:'textarea',
     name: 'ldap_attribute_name',
     label: 'some label name'
});

crie um menu suspenso:

section.fields.push({
     $type:'entity_select',
     other_entity:'user',         // get the users list
     other_field:'uid',           // get the user IDs and display them in the list
     name: 'ldap_attribute_name',
     label: 'some label name'
});

crie um botão de opção:

section.fields.push({
     $type:'radio',
     options:[          // create the new radio buttons
       {label:'first button label',value:'first button value'},
       {label:'second button label',value:'second button value'}
     ],
     name: 'ldap_attribute_name',
     label: 'some label name'
});

você pode verificar mais opções cavando o arquivo /usr/share/ipa/ui/js/freeipa/app.js .

    
por 18.05.2015 / 10:33

Tags