저는 FreeIPA로 작업 중이며 해당 속성을 성공적으로 확장했지만 FreeIPA에 추가된 Python 플러그인의 확인 기능은 명령줄을 통해 입력한 값에 대해서만 작동한다는 사실을 발견했습니다. 웹 UI를 통해 입력된 값은 검증 없이 그대로 저장됩니다.
따라서 서버에 다음 수정 사항을 추가하는 것에 대해 궁금했습니다.
- 속성 값을 저장하기 전에 FreeIPA 웹 UI를 활성화하여 속성 값을 확인하세요.
- LDAP에서 사용할 새 구문 유형(예: 혈액형 구문)을 만듭니다.
- 웹 UI에서 속성의 텍스트 상자를 드롭다운 목록으로 변경합니다.
답변1
- 사용자 입력을 확인하기 위해 WebUI를 활성화하는 경우 FreeIPA Python 플러그인의 확인 기능을 통해 확인이 수행될 수 있으므로 필요하지 않습니다(변경 사항을 적용하려면 서버를 재부팅해야 했습니다).
- 새로운 구문을 생성할 필요가 없으며 확인 프로세스를 대체하기 위해 이를 원했고 작동 중이므로 필요하지 않습니다.
- 속성 필드 유형을 변경하려면 자바스크립트 파일에서 새 속성 필드를 생성할 때 "$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
.