LDAP登録

このページは更新が必要です。終了したら、このテンプレートを削除してください。


場所: [サイトの管理]> [プラグイン]> [登録]> [登録プラグインの管理]の[ LDAP編集設定]リンク


LDAP登録を設定する方法

これはMoodleでライトウェイトディレクトリアクセスプロトコル(LDAP)登録を設定する方法を説明しています(Lars Jensenによって最初に書かれました)。 LDAP 認証は 、MoodleでLDAP認証と組み合わせて使用すると最も効果的に機能します 。MoodleをLDAP認証用に設定済みであることを前提とします。

仮定

  1. あなたはMoodleの最新版を実行しています。
  2. 主要な認証方法としてLDAP認証を使用しています。
  3. 各ユーザーはユーザーLDAPレコードにuid属性を持っています。これは同じユーザーのMoodleプロファイルの "ID番号"と一致します(これはMoodle LDAP認証設定ページのマッピングで簡単に調整できます - Active Directoryでは 'distinguishedNameを使用してください)。 '、引用符なし)

コース設定

私たちのセットアップは、次のコースとユーザー定義を含みます。

  • Math101Eng201の 2つのコース。
  • 2人の教師、教師A教師B。
  • 3人の学生、 StudentDStudentE 、およびStudentF
  • StudentDとStudentEはMath101の学生として登録され、TeacherAはMath101の教師として登録されています。 StudentEとStudentFはEng201の学生として登録され、TeacherAとTeacherBはどちらもEng201の教師として登録されています。

LDAPコンテナの設定

  1. 2つのLDAPコンテナou = StudentEnrollmentとou = TeacherEnrollmentを定義します。
  2. コースごとに、StudentEnrollmentコンテナとTeacherEnrollmentコンテナにLDAPグループエントリ(posixGroupエントリなど)を定義します。したがって、StudentEnrollmentの下にMath101のposixGroupを定義し、TeacherEnrollmentの下にMath101のposixGroupを定義します。同様に2つのEng201グループを定義します。注意してください、posixGroupの名前はMoodleコースのコースID番号と一致しなければなりませんコースの短い名前を使用しないでください、それは動作しません。 (Windows 2000以前のグループ名ウィンドウでグループ名をわずかに変更すると、MS-ADで同じ名前の2つのセキュリティグループを持つことができます)
  3. 先ほど定義したLDAPグループのメンバーとして学生と教師を登録します。これは、関連グループのmemberUid属性にusers uid属性(idnumber)を入力することによって行われます。
    • TeacherAは、TeacherEnrollmentの下のMath101グループのメンバーです。
    • StudentDとStudentEは、StudentEnrollmentの下のMath101グループのメンバーです。
    • TeacherAとTeacherBは、TeacherEnrollmentの下のEng201グループのメンバーです。
    • StudentEとStudentFは、StudentEnrollmentのEng201グループのメンバーです。

MoodleのLDAP登録設定

上記の設定に対応するMoodleのLDAP登録設定は以下の通りです。

LDAP登録変数: 値:
enrol_ldap_student_contexts: ou = StudentEnrollment、dc = ldapserver、dc = tmcc、dc = edu
enrol_ldap_student_memberattribute: memberUid(Active Directoryの場合は、引用符なしで 'member'を使用します)
enrol_ldap_teacher_contexts: ou = TeacherEnrollment、dc = ldapserver、dc = tmcc、dc = edu
enrol_ldap_teacher_memberattribute: memberUid(Active Directoryの場合は、引用符なしで 'member'を使用します)
enrol_ldap_objectクラス: posixGroup(Active Directoryの場合は、引用符なしで 'group'を使用します)
enrol_ldap_course_idnumber: cn
enrol_ldap_course_shortname: cn
enrol_ldap_course_fullname: cn
enrol_ldap_autocreate: はい

さらに、LDAP認証を使用しているので、ユーザのMoodle ID番号をLDAPエントリの "uid"にマッピングする必要があります。これはMoodle LDAP認証ページ(LDAP登録ページではありません)で行われます。

自動コース作成

まだMoodleに存在しないコースへのLDAP登録がある場合、コースは自動的に作成されます。これを有効にするには、 enrol_ldap_autocreateYesに設定します。

enrol_ldap_categoryフィールドは、自動的に作成されたコースのカテゴリを設定します。

enrol_ldap_templateフィールドは、自動コースの作成時にテンプレートとして使用されているコースの短縮名を含めることができます。

開始日、フォーマットなどの基本コースのみがテンプレートコースからコピーされます。コンテンツやブロック構成はコピーされません。

ノート:

  1. Moodleでコースを手動で作成する必要はありません。存在しない場合は、最初に登録されたユーザーがログインしたときに作成されます。
  2. ユーザーのLDAPレコードで同じ文字列cnとuidを使用しています。これは必要ではないと思います。ただし、異なる値を使用する場合は、LDAP認証設定でldap_user_attributeをuidに定義する必要があります。
  3. 上記のLDAPコンテナ設定のステップ2でグループに定義されたグループID番号(gidNumber)の値は重要ではありません。この設定では使用されていません。
  4. 添付の.ldifファイルは、ユーザーがLDAPのou = Peopleコンテナーにいると想定しています。これを反映するようにLDAP認証設定を構成する必要があります(ldap_contexts変数)。
  5. このセットアップ用のユーザーパスワードは、添付の.ldifファイルに定義されています。
  6. 添付の.ldifファイルを使用する場合は、LDAPサーバー情報( "dn ="行)を編集する必要があります。

その他のLDAPレイアウト

moodleCourseなど、新しいLDAPオブジェクトを作成することをお勧めします。これには、すべての情報、および教師、学生などのコースのメンバー(OpenLDAPなど)が含まれます。

attributetype(oidAttrBase:44 NAME( 'teacherUid')SUP memberUid
        DESC 'この人はこの講師の教師です'
    )


objectclass(oidObjRoot:14 NAME 'moodleCourse' SUPトップ構造
        DESC「Moodleで利用可能なコース」
        しなければならない(cn)
        MAY(所有者$ gn $ sn $参照$説明$ memberUid $ teacherUid)
        )

注:Openldap 2.xには以下のものが必要です。

attributetype(1.2.1.1.1.1.2.1 NAME 'teacherUid'
                SUPメンバーID
                DESC 'この人はこの講師の教師です'
                等式caseExactIA5Match
                SUBSTR caseExactIA5SubstringsMatch
                構文1.3.6.1.4.1.1466.115.121.1.26)

オブジェクトクラス(1.2.1.1.1.1.1.1
                NAME 'moodleCourse'
                SUPトップ構造
                DESC「Moodleで利用可能なコース」
                しなければならない(cn)
                MAY(所有者$ gn $ sn $参照$説明$ memberUid $ teacherUid)
                )

設定はこのようなものです、 太字で必要な変更を、 斜体で便利な変更を確認します。

LDAP登録変数: 値:
enrol_ldap_student_contexts: ou =ムードル、ou =グループ、dc = ldapserver、dc = tmcc、dc = edu
enrol_ldap_student_memberattribute: memberUid
enrol_ldap_teacher_contexts: ou =ムードル、ou =グループ、dc = ldapserver、dc = tmcc、dc = edu
enrol_ldap_teacher_memberattribute: teacherUid
enrol_ldap_objectクラス: moodleGroup
enrol_ldap_course_idnumber: cn
enrol_ldap_course_shortname:
enrol_ldap_course_fullname: sn
enrol_ldap_course_summary: 説明
enrol_ldap_autocreate: はい

注意: Moodle v1.8では、 enrol_ldap_course_idnumber (私の設定ではcn )はLDAP登録スクリプトでコースを識別するために使用され、データベースはここでは整数を使用します。あなたが

コール
 cd enroll / ldap / && php -f enrol_ldap_sync.php 
同じID番号を持つコースはすべて更新されます。

これはLDAP同期にとって非常に重要であり、一意である必要があります。

moodleCourse LDAPオブジェクトのサンプル:

 dn:cn = 851、ou = moodle、ou =グループ、dc = ldapserver、dc = tmcc、dc = edu
objectClass:moodleCourse
cn:851
givenName:LV851
sn:2007S / Moodleの紹介
説明:Jahr:2007年夏、<A TARGET=_blank HREF="https://other_server/display/851">お知らせ</A>
teacherUid:ユーザA
memberUid:user1 

同じ方法で、他のすべてのロールマッピングを追加できます。

関連情報

Moodleフォーラムディスカッションを使用する: