web-dev-qa-db-ja.com

LDAPとFreeIPAの拡張

FreeIPAを使用していて、その属性を正常に拡張しましたが、FreeIPAに追加されたPythonプラグインの検証関数は、コマンドラインから入力された値に対してのみ機能することに気付きました。 Web UIを介して入力された値は、検証なしでそのまま保存されます。

したがって、サーバーに次の変更を追加することを考えていました。

  1. FreeIPA Web UIを有効にして、属性値を保存する前に確認します。
  2. LDAPで使用される新しい構文タイプ(血液型の構文など)を作成します。
  3. WebUIの属性のテキストボックスをドロップダウンリストに変更します。
2
Muhmmad Aziz
  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ファイルを掘り下げることで、他のオプションを確認できます。

2
Muhmmad Aziz