LDAP登録

提供:MoodleDocs
移動先:案内検索
印刷用ページはサポート対象外です。表示エラーが発生する可能性があります。ブラウザーのブックマークを更新し、印刷にはブラウザーの印刷機能を使用してください。

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


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


LDAP登録の設定方法

これは、Moodle(Lars Jensenによって最初に書かれた)で Lightweight Directory Access Protocol(LDAP)登録を設定する方法を説明しています。 LDAP登録LDAP認証と組み合わせて使用するとMoodleで最適に機能します。ここでは、MoodleをLDAP認証用に設定済みであると想定します。

仮定

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

コース設定

セットアップには、次のコースとユーザ定義が含まれます。

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

LDAPコンテナのセットアップ

  1. 2つのLDAPコンテナを定義しますou=学生登録とou=教師登録
  2. コースごとに、学生登録コンテナと教師登録コンテナにLDAPグループエントリ(posixGroupエントリなど)を定義します。したがって、学生登録の下にMath101 posixGroupを定義し、教師登録の下にMath101posixGroupを定義します。同様の方法で2つのEng201グループを定義します。注意してください、 posixGroupの名前はMoodleコースのコースID番号と一致する必要があります。 コースの短い名前は使用しないでください。機能しません。 (Windows 2000より前のグループ名ウィンドウでグループ名を少し変更すると、MS-ADで同じ名前の2つのセキュリティグループを持つことができます)
  3. 定義した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_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レイアウト

新しい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


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

関連項目

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