1

CAS でログインするように Drupal を構成します。

CAS にログインした後、drupal Web サイトの最初のページにアクセスしたときに、リンクをクリックせずにログインしたい (シングル サインオン (CAS) 経由でログイン)

そのためのオプションは Drupal CAS 設定ですか?

4

3 に答える 3

0

このライブラリを使用してください: https://wiki.jasig.org/display/CASC/phpCAS

Drupal サイトの最初のページで、クライアントを作成し、認証を強制します。

phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
phpCAS::setNoCasServerValidation();
phpCAS::forceAuthentication();

最後の呼び出しは、ユーザーを CAS にリダイレクトします。彼がログインしている場合、ユーザーは Drupal サイトの最初のページに戻され、ログインされます。これは瞬時です。ユーザーは、自分が CAS ページにアクセスしたことさえわかりません。

HTH

于 2012-03-03T07:41:34.177 に答える
0

私は CAS に精通しておらず、ユーザーがログインする必要があるかどうかを判断するために使用できる変数を知りませんが、hook_init() と user_external_login_register( のカスタム モジュールでこれを達成できるはずです。 ) http://api.drupal.org/api/drupal/modules--user--user.module/function/user_external_login_register/7

疑似コード:

<?php
/**
 * Implements hook_init().
 */
function mymodule_init() {
  // only check if user is not logged in
  if (user_is_anonymous()) {
    // add your condition to test if user is valid
    if ( <condition to check if user should be logged in> ) {
      // programmatically login user by name
      user_external_login_register('<username>', 'mymodule');
    }
  }
}
于 2011-04-17T06:16:37.373 に答える
0

そのためのオプションがあります。

CAS モジュールの設定ページ (/admin/config/people/cas) に移動します。

フィールドセットのリダイレクトの下で、次のチェックボックスをオンにします。

ユーザーがすでにログインしているかどうかを CAS サーバーに確認しますか?

于 2012-04-02T17:49:01.583 に答える