最简单的办法:
在CAS的client站点,编辑用户,选择CAS tab,给admin添加一个CAS username即可。
另外,如果有一批用户,可以通过SQL的方式一次性搞定
INSERT INTO cas_user (uid, cas_name)
SELECT u.uid AS uid, u.name as cas_name
FROM users u
WHERE uid <> 0 AND NOT EXISTS (SELECT cas_name FROM cas_user c WHERE c.cas_name = u.name);
还可以通过hook的方式关联一下没有关联的用户,同样的username即可。
<?php
function CUSTOM_cas_user_alter(&$cas_user) {
$cas_name = $cas_user['name'];
if (cas_user_load_by_name($cas_name) === FALSE) {
// No existing user could be found by CAS username.
$account = user_load(array('name' => $cas_name));
if ($account && $account->uid) {
// We found an existing user with the same username, add a CAS username.
cas_user_operations_create_username(array($account->uid));
}
}
}
?>
参考: https://www.drupal.org/node/1261232