CASサーバー(SSO)認証

中央認証サービス (CAS)はWeb用のシングルサインオンプロトコルです。

CASは、さまざまなWebアプリケーションが一連の共通ユーザーを共有している環境では非常に有益です。すべてのWebアプリケーションが「CAS化」されている場合、ユーザーは一度ログインすると、その後再度認証資格情報を提示する必要なく、さまざまなWebアプリケーション間を移動できます。 CASはShibboleth認証メカニズムに似ていますが、セットアップが非常に簡単で、フェデレーション信頼や承認インフラストラクチャなどのより広範な機能が多数ありません。

CASは基本的に認証自体を行わず、認証されていないユーザを認証トークンをMoodleサイトに返すCASサーバに転送するようにMoodleサイトを設定することで機能します。 Moodleはトークンからユーザ名を抽出し、それからその内部認証メカニズム(ロール、登録、機能)とユーザ属性(名前、写真など)を使用することができます。利点は、Moodleサイトがパスワードを処理する必要がないことと、初めて認証されたユーザは再度認証情報を提示することなく他のウェブアプリケーションにシームレスに移動できることです。

CASサーバー認証を有効にする

管理者は次のようにCASサーバー認証を有効にできます。

  1. [サイトの管理]> [プラグイン ] > [認証 ] > [認証の管理 ]に移動して、CASサーバー(SSO)の向かいにある目のアイコンをクリックします。有効にすると、グレーアウトされなくなります。
  2. 設定リンクをクリックし、必要に応じて設定してから[変更を保存]ボタンをクリックします。

LDAPや他の認証メカニズムから変換する人たちのための1つの警告:

CASで認証したいがすでにMoodleを使用していてMoodleデータベースにエントリがあるユーザの場合は、mdl_userテーブルでそのユーザの "auth"フィールドの値を変更する必要があります。したがって、以前LDAPを使用していたが、今度はCASを使用し、そのユーザー名が "foobar"の場合は、次のようなSQLでデータベースを編集する必要があります。
UPDATE mdl_user SET auth='cas' where auth='ldap' and username='foobar';
この変更がなければ、ユーザには失敗したログインメッセージが常に表示されますが、それ以外の場合は、自分のクレデンシャルがCASサーバによって受け入れられたにもかかわらずログインが失敗した理由についてはわかりません。

CASアカウントの同期を有効にする

CASユーザ同期ジョブ( \ auth_cas \ task \ sync_taskスケジュールタスク (Moodle 3.0の新機能、以前はCLIスクリプトがありました)は、ユーザ情報の作成および更新、ならびにCASアカウントの一時停止および削除を担当します。

CASサーバー認証を有効にした後、管理者は次のようにCASユーザー同期ジョブを有効にして設定する必要があります。

  1. [サイトの管理]> [サーバー]> [スケジュールされているタスク ]に移動して、CASユーザーの同期ジョブの向かい側にある歯車のアイコンをクリックします。
  2. 希望の実行頻度を選択し、無効のチェックボックスをオフにしてタスクを有効にします。
warning.png 警告: CASユーザーの同期ジョブを有効にする(およびデータベースとmoodledataフォルダーをバックアップする)前に、すべてのCAS設定が正しく機能していることを確認することが重要です。

質問は?

moodle.orgの認証フォーラムに投稿してください。