LDAP登録
このページは更新が必要です。 更新して終了したらこのテンプレートを削除してください。
場所: サイト管理 > プラグイン > 登録 > 登録プラグイン管理 のLDAP編集設定リンク
LDAP登録の設定方法
これは、Moodle(Lars Jensenによって最初に書かれた)で Lightweight Directory Access Protocol(LDAP)登録を設定する方法を説明しています。 LDAP登録はLDAP認証と組み合わせて使用するとMoodleで最適に機能します。ここでは、MoodleをLDAP認証用に設定済みであると想定します。
仮定
- あなたはMoodleの最新バージョンを実行しています。
- プライマリ認証方法としてLDAP認証を使用しています。
- 各ユーザは、同じユーザのMoodleプロファイルの 'ID番号' と一致するuid属性をユーザのLDAPレコードに持っています(これは、Moodle LDAP認証設定ページのマッピングで簡単に調整できます-Active Directoryの場合は、引用符なしの '識別名' を使用します)
コース設定
セットアップには、次のコースとユーザ定義が含まれます。
- 2つのコース、 Math101 と Eng201 。
- 2人の教師、TeacherA と TeacherB 。
- 3人の学生、 StudentD、StudentE 、および StudentF 。
- StudentDとStudentEはMath101の学生として登録され、TeacherAはMath101の教師として登録されています。 StudentEとStudentFはEng201の学生として登録され、TeacherAとTeacherBは両方ともEng201の教師として登録されます。
LDAPコンテナのセットアップ
- 2つのLDAPコンテナを定義しますou=学生登録とou=教師登録
- コースごとに、学生登録コンテナと教師登録コンテナにLDAPグループエントリ(posixGroupエントリなど)を定義します。したがって、学生登録の下にMath101 posixGroupを定義し、教師登録の下にMath101posixGroupを定義します。同様の方法で2つのEng201グループを定義します。注意してください、 posixGroupの名前はMoodleコースのコースID番号と一致する必要があります。 コースの短い名前は使用しないでください。機能しません。 (Windows 2000より前のグループ名ウィンドウでグループ名を少し変更すると、MS-ADで同じ名前の2つのセキュリティグループを持つことができます)
- 定義したLDAPグループのメンバーとして学生と教師を登録します。これは、関連するグループのmemberUid属性にusers uid属性(idnumber)を入力することによって行われます。
- TeacherAは、教師登録のMath101グループのメンバーです。
- StudentDとStudentEは、学生登録のMath101グループのメンバーです。
- TeacherAとTeacherBは、教師登録のEng201グループのメンバーです。
- StudentEとStudentFは、学生登録のEng201グループのメンバーです。
MoodleでのLDAP登録設定
上記の設定に対応するMoodleのLDAP登録設定は次のとおりです。
LDAP Enrollment Variable: | Value: |
---|---|
enrol_ldap_student_contexts: | ou=StudentEnrollment,dc=ldapserver,dc=tmcc,dc=edu |
enrol_ldap_student_memberattribute: | memberUid (use 'member' -without the quotes- for Active Directory) |
enrol_ldap_teacher_contexts: | ou=TeacherEnrollment,dc=ldapserver,dc=tmcc,dc=edu |
enrol_ldap_teacher_memberattribute: | memberUid (use 'member' -without the quotes- for Active Directory) |
enrol_ldap_objectclass: | posixGroup (use 'group' -without the quotes- for Active Directory) |
enrol_ldap_course_idnumber: | cn |
enrol_ldap_course_shortname: | cn |
enrol_ldap_course_fullname: | cn |
enrol_ldap_autocreate: | Yes |
さらに、LDAP認証を使用しているため、ユーザのMoodle ID番号 をユーザのldapエントリの uid にマップする必要もあります。これは、(LDAP登録ページではなく)Moodle LDAP認証ページで行われます。
自動コース作成
Moodleにまだ存在しないコースへのLDAP登録がある場合、コースは自動的に作成されます。これを有効にするには、 enrol_ldap_autocreate を Yes にします。
enrol_ldap_category フィールドは、自動的に作成されるコースのカテゴリを設定します。
enrol_ldap_templateフィールドには、自動コース作成でテンプレートとして使用されるコースの ショートネーム を含めることができます。
開始日、フォーマットなどの基本設定のみがテンプレートコースからコピーされることに注意してください。コンテンツやブロック構成はコピーされません。
注:
- Moodleで手動でコースを作成する必要はありません。それらが存在しない場合は、最初に登録したユーザがログインしたときに作成されます。
- ユーザのLDAPレコードで同じ文字列cnとuidを使用しています。これは必要ないと思います。ただし、異なる値を使用する場合は、LDAP認証の設定でldap_user_attributeをuidに定義する必要があります。
- 上記のLDAPコンテナ設定のステップ2でグループに定義されたグループID番号(gidNumber)の値は重要ではありません。この設定では使用されません。
- 添付の.ldifファイルは、ユーザがLDAPのou=Peopleコンテナーにいることを前提としています。これを反映するようにLDAP認証設定を構成する必要があります(ldap_contexts変数)。
- この設定のユーザパスワードは、添付の.ldifファイルで定義されています。
- 添付の.ldifファイルを使用する場合は、LDAPサーバ情報(dn= 行)を編集する必要があります。
その他のLDAPレイアウト
新しいLDAPオブジェクト、たとえばmoodleCourseを作成することをお勧めします。これには、すべての情報と、教師、学生を含むコースのメンバーが含まれます。たとえば、(OpenLDAP):
attributetype ( oidAttrBase:44 NAME ( 'teacherUid' ) SUP memberUid DESC 'which person is a teacher of this course' ) objectclass ( oidObjRoot:14 NAME 'moodleCourse' SUP top STRUCTURAL DESC 'course available in Moodle' MUST ( cn ) MAY ( owner $ gn $ sn $ seeAlso $ description $ memberUid $ teacherUid ) ) 注: Openldap 2.xには、次のようなものが必要です。 attributetype ( 1.2.1.1.1.1.2.1 NAME 'teacherUid' SUP memberUid DESC 'which person is a teacher of this course' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) objectclass ( 1.2.1.1.1.1.1.1 NAME 'moodleCourse' SUP top STRUCTURAL DESC 'course available in Moodle' MUST ( cn ) MAY ( owner $ gn $ sn $ seeAlso $ description $ memberUid $ teacherUid ) )
構成は次のようになります。太字で必要な変更が表示され、斜体で表示されます。 便利な変更。
LDAP Enrollment Variable: | Value: |
---|---|
enrol_ldap_student_contexts: | ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu |
enrol_ldap_student_memberattribute: | memberUid |
enrol_ldap_teacher_contexts: | ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu |
enrol_ldap_teacher_memberattribute: | teacherUid |
enrol_ldap_objectclass: | moodleGroup |
enrol_ldap_course_idnumber: | cn |
enrol_ldap_course_shortname: | givenname |
enrol_ldap_course_fullname: | sn |
enrol_ldap_course_summary: | description |
enrol_ldap_autocreate: | Yes |
注:: enrol_ldap_course_idnumber(私のセットアップではcn )は、LDAP登録スクリプトによってコースを識別するために使用され、データベースは、とにかくMoodlev1.8ではINTEGER数値を使用します。あなたが
cd enrol/ldap/ && php -f enrol_ldap_sync.php
を呼び出すと、同じID番号のコースが更新されるため、
LDAP同期にとって非常に重要であり、一意である必要があります。
moodleコース LDAPオブジェクトのサンプル:
dn: cn=851,ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu objectClass: moodleCourse cn: 851 givenName: LV851 sn: 2007S/Introduction to Moodle description: Jahr: 2007 Sommer, <A TARGET=_blank HREF="https://other_server/display/851">Announcement</A> teacherUid: userA memberUid: user1
同じ方法で、他のすべてのロールマッピングを追加できます。
関連項目
- LDAP認証および登録設定ガイド(PDF 227KB)
Moodleフォーラムディスカッションの使用:
- LDAP登録方法、LarsJensenの2005年の投稿
- LDAP自動登録
- LDAPの悪夢パートII
- Moodle + AD + LDAP =混乱-ヘルプが必要で提供されています
- Wikipedia on LDAP: Moodleのコンテキストを超えた大量の情報