FreeIPAを使用していて、その属性を正常に拡張しましたが、FreeIPAに追加されたPythonプラグインの検証関数は、コマンドラインから入力された値に対してのみ機能することに気付きました。 Web UIを介して入力された値は、検証なしでそのまま保存されます。
したがって、サーバーに次の変更を追加することを考えていました。
テキスト領域を作成します。
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
ファイルを掘り下げることで、他のオプションを確認できます。