2017-03-29 10 views
0

Drupal 8 사이트에 CAS 모듈을 설치했는데 정상적으로 작동합니다. 새 사용자의 경우 cas_username을 사용하여 사용자를 자동 등록하지만 기존 Drupal 8 사용자에 대해 cas_username을 수동으로 가져 오려고합니다.CAS 사용자 이름 필드 값을 가져올 때 기존 사용자에게 수동으로 추가 하시겠습니까?

사용자를 CSV 형식 (https://github.com/steveoliver/user_import)으로 가져 오려고했습니다. $ account (row [0], row [1])를 추가 할 수 있었지만 CAS 사용자 이름 가져 오기의 경우 가져 오는 방법과 필드가 저장되어 있습니다.

'uid' => NULL, 
    'name' => $username, 
    'field_first_name' => row[0], 
    'field_last_name' => $row[1], 
    'pass' => $username, 
    'mail' => $row[2], 
    'status' => 1, 
    'created' => REQUEST_TIME, 
    'roles' => array_values($config['roles']), 

나는 CAS username 관리를 시도했다. 주어진 제안은 드루팔 (Drupal 7)이지만, 같은 방법은 드루팔 (Drupal 8)에서는 작동하지 않습니다.

CSV에서 cas 사용자 이름을 가져 오는 것이 좋습니다.

답변

0

CS_ 방법으로 CAS_username 가져 오기에 대한 해결책을 찾았습니다. 각 필드에 CAS_username을 동적으로 삽입하는 (authmap) 테이블의 db_insert 메소드입니다.

authmap 테이블은 외부 인증 모듈에 있습니다.

db_insert('authmap') 
->fields(array(
'uid' => $uid, 
'provider' => 'cas', 
'authname' => $row[0], 
'data' => 'N;', 
)) 
->execute(); 

그래서이 방법은 CSV를 사용하여 CAS_username을 동적으로 업데이트합니다. 어떤 제안이나 업데이트가 있다면. 친절하게 선언하십시오.