我将Drupal配置为使用CAS登录。
在CAS登录后,当我访问drupal网站的第一页时,我想要登录而不点击任何链接(通过单点登录(CAS)登录)
是Drupal CAS设置的任何选项吗?
答案 0 :(得分:0)
我不熟悉CAS并且不知道您可以使用哪些变量来判断用户是否应该登录,但您应该能够通过hook_init()中的自定义模块实现此目的和user_external_login_register()http://api.drupal.org/api/drupal/modules--user--user.module/function/user_external_login_register/7
Psuedo代码:
<?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');
}
}
}
答案 1 :(得分: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
答案 2 :(得分:0)
有一个选项。
转到CAS模块的配置页面(/ admin / config / people / cas)。
在字段集重定向下,选中此复选框:
检查CAS服务器以查看用户是否已登录?