LDAP 및 FreeIPA 확장

LDAP 및 FreeIPA 확장

저는 FreeIPA로 작업 중이며 해당 속성을 성공적으로 확장했지만 FreeIPA에 추가된 Python 플러그인의 확인 기능은 명령줄을 통해 입력한 값에 대해서만 작동한다는 사실을 발견했습니다. 웹 UI를 통해 입력된 값은 검증 없이 그대로 저장됩니다.

따라서 서버에 다음 수정 사항을 추가하는 것에 대해 궁금했습니다.

  1. 속성 값을 저장하기 전에 FreeIPA 웹 UI를 활성화하여 속성 값을 확인하세요.
  2. LDAP에서 사용할 새 구문 유형(예: 혈액형 구문)을 만듭니다.
  3. 웹 UI에서 속성의 텍스트 상자를 드롭다운 목록으로 변경합니다.

답변1

  1. 사용자 입력을 확인하기 위해 WebUI를 활성화하는 경우 FreeIPA Python 플러그인의 확인 기능을 통해 확인이 수행될 수 있으므로 필요하지 않습니다(변경 사항을 적용하려면 서버를 재부팅해야 했습니다).
  2. 새로운 구문을 생성할 필요가 없으며 확인 프로세스를 대체하기 위해 이를 원했고 작동 중이므로 필요하지 않습니다.
  3. 속성 필드 유형을 변경하려면 자바스크립트 파일에서 새 속성 필드를 생성할 때 "$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.

관련 정보