扩展 LDAP 和 FreeIPA

扩展 LDAP 和 FreeIPA

我正在使用 FreeIPA,并已成功扩展其属性,但注意到添加到 FreeIPA 的 Python 插件中的验证功能仅适用于通过命令行输入的值。通过 Web UI 输入的值将按原样存储,而无需验证。

因此,我想在服务器中添加以下修改:

  1. 启用 FreeIPA Web UI 在存储属性值之前验证它。
  2. 创建一种新的语法类型供 LDAP 使用(例如血型语法)。
  3. 将 Web UI 中的属性文本框更改为下拉列表。

答案1

  1. 为了启用 WebUI 来验证用户输入,这不是必需的,因为可以通过 FreeIPA Python 插件中的验证功能进行验证(我只需要重新启动服务器即可使更改生效)。
  2. 我没有必要创建新的语法,我希望用它来替代验证过程,而且由于它正在运行,所以没有必要。
  3. 要更改属性字段类型,您需要在 javascript 文件中创建新的属性字段时添加“$type”:

创建一个文本区域:

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

相关内容