Расширение LDAP и FreeIPA

Расширение LDAP и FreeIPA

Я работаю с FreeIPA и успешно расширил его атрибуты, но заметил, что функция проверки в плагине Python, добавленном к FreeIPA, работает только для значений, введенных через командную строку. Значения, введенные через веб-интерфейс, сохраняются как есть, без проверки.

Поэтому я задумался о добавлении следующих модификаций на сервер:

  1. Включите веб-интерфейс FreeIPA для проверки значения атрибута перед его сохранением.
  2. Создайте новый тип синтаксиса, который будет использоваться LDAP (например, синтаксис для группы крови).
  3. Измените текстовое поле атрибута в веб-интерфейсе на раскрывающийся список.

решение1

  1. Для включения WebUI для проверки ввода данных пользователем это не обязательно, поскольку проверка может быть выполнена функцией проверки в плагине FreeIPA Python (мне просто нужно было перезагрузить сервер, чтобы изменения вступили в силу).
  2. Мне нет необходимости создавать новый синтаксис, я хотел заменить его процессом проверки, и поскольку он работает, в этом нет необходимости.
  3. Чтобы изменить тип поля атрибута, необходимо добавить «$type» при создании нового поля атрибута в файле JavaScript:

создайте текстовую область:

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

создайте выпадающее меню:

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'
});

создайте радиокнопку:

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'
});

Дополнительные параметры можно найти, открыв файл /usr/share/ipa/ui/js/freeipa/app.js.

Связанный контент