차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
ko:user_management_api [2020/11/26 17:36] kkshin [BS2UserSetting] |
ko:user_management_api [2025/01/02 13:44] (현재) alex |
||
---|---|---|---|
줄 22: | 줄 22: | ||
* [[BS2_GetUserSmallDatas]]: [+ 2.6.3] 효율적으로 메모리를 사용하여, 사용자 정보의 일부를 선별적으로 가져옵니다. | * [[BS2_GetUserSmallDatas]]: [+ 2.6.3] 효율적으로 메모리를 사용하여, 사용자 정보의 일부를 선별적으로 가져옵니다. | ||
* [[BS2_GetUserSmallDatasEx]]: [+ 2.6.3] 효율적으로 메모리를 사용하여, 사용자 정보의 일부를 선별적으로 가져옵니다. | * [[BS2_GetUserSmallDatasEx]]: [+ 2.6.3] 효율적으로 메모리를 사용하여, 사용자 정보의 일부를 선별적으로 가져옵니다. | ||
- | * [[BS2_EnrollUserFaceEx]]: [+ 2.7.1] ''FaceStation F2''새로운 사용자를 등록합니다. | + | * [[BS2_EnrollUserFaceEx]]: [+ 2.7.1] ''Visual Face 지원''새로운 사용자를 등록합니다. |
- | * [[BS2_GetUserInfosFaceEx]]: [+ 2.7.1] ''FaceStation F2''주어진 사용자 ID의 정보를 가져옵니다. | + | * [[BS2_GetUserInfosFaceEx]]: [+ 2.7.1] ''Visual Face 지원''주어진 사용자 ID의 정보를 가져옵니다. |
- | * [[BS2_GetUserDatasFaceEx]]: [+ 2.7.1] ''FaceStation F2''사용자 정보의 일부를 선별적으로 가져옵니다. | + | * [[BS2_GetUserDatasFaceEx]]: [+ 2.7.1] ''Visual Face 지원''사용자 정보의 일부를 선별적으로 가져옵니다. |
+ | * [[BS2_PartialUpdateUser]]: [+ 2.8.3] 사용자를 정보를 부분적으로 갱신합니다. | ||
+ | * [[BS2_PartialUpdateUserEx]]: [+ 2.8.3] 사용자를 정보를 부분적으로 갱신합니다. | ||
+ | * [[BS2_PartialUpdateUserSmall]]: [+ 2.8.3] 사용자를 정보를 부분적으로 갱신합니다. | ||
+ | * [[BS2_PartialUpdateUserSmallEx]]: [+ 2.8.3] 사용자를 정보를 부분적으로 갱신합니다. | ||
+ | * [[BS2_PartialUpdateUserFaceEx]]: [+ 2.8.3] ''Visual Face 지원''사용자를 정보를 부분적으로 갱신합니다. | ||
+ | * [[BS2_GetUserStatistic]]: [+ 2.8.3] 장치가 보유한 사용자 통계 정보를 가져옵니다. | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
줄 37: | 줄 43: | ||
uint8_t numFingers; | uint8_t numFingers; | ||
uint8_t numFaces; | uint8_t numFaces; | ||
- | uint8_t reserved2[1]; | + | uint8_t infoMask; |
uint32_t authGroupID; | uint32_t authGroupID; | ||
uint32_t faceChecksum; | uint32_t faceChecksum; | ||
줄 65: | 줄 71: | ||
7. //numFaces// \\ | 7. //numFaces// \\ | ||
사용자에게 맵핑된 얼굴 개수입니다. \\ \\ | 사용자에게 맵핑된 얼굴 개수입니다. \\ \\ | ||
- | 8. //authGroupID// \\ | + | 8. //infoMask// \\ |
+ | [+ 2.8.3] 사용자가 어떤 정보를 가지고 있는지 나타내며, 이 infoMask를 변경하여, 변경할 정보와 함께 장치로 내려주면 해당 사용자 정보의 부분 변경이 가능합니다. \\ | ||
+ | 이때, Partial update 함수군들 ([[BS2_PartialUpdateUser]], [[BS2_PartialUpdateUserEx]], [[BS2_PartialUpdateUserSmall]], [[BS2_PartialUpdateUserSmallEx]], [[BS2_PartialUpdateUserFaceEx]])의 user mask 인자와의 조합이 필요합니다. (하단 표 참조) \\ | ||
+ | |||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0x01 |BS2_USER_INFO_MASK_PHRASE | | ||
+ | |0x02 |BS2_USER_INFO_MASK_JOB_CODE | | ||
+ | |0x04 |BS2_USER_INFO_MASK_NAME | | ||
+ | |0x08 |BS2_USER_INFO_MASK_PHOTO | | ||
+ | |0x10 |BS2_USER_INFO_MASK_PIN | | ||
+ | |0x20 |BS2_USER_INFO_MASK_CARD | | ||
+ | |0x40 |BS2_USER_INFO_MASK_FINGER | | ||
+ | |0x80 |BS2_USER_INFO_MASK_FACE | | ||
+ | </WRAP> | ||
+ | **''사용자 정보의 취득''** \\ | ||
+ | 사용자 정보 취득 시, infoMask는 현재 사용자에 어떤 정보들이 할당되어 있는지를 나타냅니다. \\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^사용자 정보 ^BS2_USER_MASK ^infoMask ^ | ||
+ | |부분 삭제 시 |unmasking |unmasking | | ||
+ | |부분 변경 시 |masking |masking | | ||
+ | |장치설정 유지 |unmasking |masking | | ||
+ | </WRAP> | ||
+ | **''사용자 정보의 부분 삭제''** \\ | ||
+ | infoMask와, partial update 함수들 인자 user mask 모두에서, 삭제하고자 하는 정보를 unmasking 하여야 합니다. \\ \\ | ||
+ | **''사용자 정보의 부분 변경''** \\ | ||
+ | infoMask와, partial update 함수들 인자 user mask 모두에서, 변경하고자 하는 정보를 masking 하여야 합니다. \\ \\ | ||
+ | **''사용자 정보의 장치설정 유지''** \\ | ||
+ | infoMask는 masking 하고, partial update 함수들 인자 user mask는 unmasking 합니다. \\ \\ | ||
+ | **''Credential(카드/지문/얼굴) 정보의 변경''** \\ | ||
+ | BS2User의 numCards, numFingers, numFaces가 0인지, 그리고 fingerObjs, cardObjs, faceObjs, faceExObjs에 credential 정보가 할당되어 있는지 여부를 우선 검토하고, 부가적으로 infoMask를 검토합니다. \\ | ||
+ | 카드/지문/얼굴 정보를 0보다 큰 값으로 지정하고, infoMask에 mask를 설정하면 장치의 credential 정보를 변경 할 수 있습니다. \\ | ||
+ | 예를들어, 장치에 대상이 되는 사용자의 지문이 2개가 있는 상태에서, infoMask에 BS2_USER_INFO_MASK_FINGER를 masking하고, numFingers = 1, fingerObjs에 지문을 할당하여 내려준다면, 장치는 새로 내려준 1개 지문 만을 갖습니다. \\ | ||
+ | 만일 지문의 추가가 목적이라면, 기존 2개의 지문에 새롭게 더해질 지문 1개가 더해진, 총 3개의 지문이 내려져야만 합니다. \\ \\ | ||
+ | **''Credential(카드/지문/얼굴) 정보의 유지''** \\ | ||
+ | 카드/지문/얼굴 각각의 credential 정보를 0으로 하고, infoMask를 masking 하면, 장치는 기존에 가지고 있는 credential 정보들을 유지합니다. \\ \\ | ||
+ | **''Credential(카드/지문/얼굴) 정보의 삭제''** \\ | ||
+ | 카드/지문/얼굴 각각의 credential 정보를 0으로 하고, infoMask를 unmasking 하면, 장치는 각각 credential에 해당되는 정보를 삭제합니다. \\ \\ | ||
+ | 9. //authGroupID// \\ | ||
얼굴 그룹 매칭을 사용할시 사용자에게 할당 할 그룹의 ID. \\ \\ | 얼굴 그룹 매칭을 사용할시 사용자에게 할당 할 그룹의 ID. \\ \\ | ||
- | 9. //faceChecksum// \\ | + | 10. //faceChecksum// \\ |
사용되지 않음. \\ | 사용되지 않음. \\ | ||
줄 73: | 줄 117: | ||
\\ | \\ | ||
==== BS2UserSetting ==== | ==== BS2UserSetting ==== | ||
- | ''FaceStation F2 이외'' \\ | + | <WRAP tip 70%> |
+ | **도움말**\\ | ||
+ | <wrap em>Visual Face 기반 장치들</wrap>의 <wrap em>개인인증 모드</wrap> 설정은 [[user management api#BS2UserSettingEx|BS2UserSettingEx]]를 사용해 주십시오. | ||
+ | </WRAP> | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
줄 85: | 줄 132: | ||
</code> | </code> | ||
1. //startTime// \\ | 1. //startTime// \\ | ||
- | 사용자 인증이 가능한 시작 시간으로 0일 경우 제한이 없습니다. \\ \\ | + | 사용자 인증이 가능한 시작 시간을 의미합니다. \\ |
+ | <wrap em>978307200 (2001-01-01 00:00:00) 보다 큰 값</wrap>을 입력하여야 하며, <wrap em>0으로 설정 시 제한 없음</wrap>을 의미합니다. \\ \\ | ||
2. //endTime// \\ | 2. //endTime// \\ | ||
- | 사용자 인증이 가능한 마지막 시간으로 0일 경우 제한이 없습니다. \\ \\ | + | 사용자 인증이 가능한 마지막 시간을 의미합니다. \\ |
+ | <wrap em>1924991999 (2030-12-31 23:59:59) 보다 작은 값</wrap>으로 입력하여야 하며, <wrap em>0으로 설정 시 제한 없음</wrap>을 의미합니다. \\ | ||
+ | 날짜 확장이 포함된 펌웨어 버전 혹은 이상의 경우, 2037년까지 저장할 수 있습니다. \\ | ||
+ | 장치별 펌웨어 리비전노트를 참고하여 날짜 확장 기능 포함 여부를 확인하시기 바랍니다. \\ | ||
+ | (예를들어, BioStation 3의 경우, 1.3.0 버전 이상부터 2037년 12월 31일 까지 설정할 수 잇습니다.) | ||
+ | \\ \\ | ||
3. //fingerAuthMode// \\ | 3. //fingerAuthMode// \\ | ||
사용자 인증을 위한 지문 인증 설정 모드입니다. \\ | 사용자 인증을 위한 지문 인증 설정 모드입니다. \\ | ||
줄 233: | 줄 286: | ||
근태모드에서 사용자의 작업코드입니다. \\ \\ | 근태모드에서 사용자의 작업코드입니다. \\ \\ | ||
10. //phrase// \\ | 10. //phrase// \\ | ||
- | 인증시 장치 UI에서 표시되는 개인 메시지입니다. (FS2 FW 1.0.0 이상에서만 가능) \\ | + | 인증시 장치 UI에서 표시되는 개인 메시지입니다. \\ |
+ | <WRAP group 30%> | ||
+ | ^지원 모델 ^지원 버전 ^ | ||
+ | |FaceStation 2 |V1.0.0 이상 | | ||
+ | |FaceStation F2 |V1.0.0 이상 | | ||
+ | |X-Station 2 |V1.0.0 이상 | | ||
+ | </WRAP> | ||
11. //accessGroupId// \\ | 11. //accessGroupId// \\ | ||
사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | 사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | ||
줄 306: | 줄 365: | ||
근태모드에서 사용자의 작업코드입니다. \\ \\ | 근태모드에서 사용자의 작업코드입니다. \\ \\ | ||
10. //phrase// \\ | 10. //phrase// \\ | ||
- | 인증시 장치 UI에서 표시되는 개인 메시지입니다. (FS2 FW 1.0.0 이상 버전에서만 가능)\\ \\ | + | 인증시 장치 UI에서 표시되는 개인 메시지입니다. \\ |
+ | <WRAP group 30%> | ||
+ | ^지원 모델 ^지원 버전 ^ | ||
+ | |FaceStation 2 |V1.0.0 이상 | | ||
+ | |FaceStation F2 |V1.0.0 이상 | | ||
+ | |X-Station 2 |V1.0.0 이상 | | ||
+ | |BioStation 3 |V1.0.0 이상 | | ||
+ | </WRAP> | ||
11. //accessGroupId// \\ | 11. //accessGroupId// \\ | ||
사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | 사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | ||
줄 312: | 줄 378: | ||
==== BS2UserSettingEx ==== | ==== BS2UserSettingEx ==== | ||
+ | <WRAP tip 70%> | ||
+ | **도움말**\\ | ||
+ | <wrap em>Visual Face 기반 장치들 외</wrap>의 장치에 대한 <wrap em>개인인증 모드</wrap> 설정은 [[user management api#BS2UserSetting|BS2UserSetting]]를 사용해 주십시오. | ||
+ | </WRAP> | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
줄 321: | 줄 391: | ||
} BS2UserSettingEx; | } BS2UserSettingEx; | ||
</code> | </code> | ||
- | ''FaceStation F2'' \\ \\ | ||
1. //faceAuthMode// \\ | 1. //faceAuthMode// \\ | ||
사용자 인증을 위한 얼굴 인증 설정 모드입니다. \\ | 사용자 인증을 위한 얼굴 인증 설정 모드입니다. \\ | ||
줄 428: | 줄 497: | ||
사용자 인증을 위한 지문 템플릿 리스트로 반드시 **user.numFingers**만큼 존재해야 합니다. 데이터 형식은 [[Fingerprint API]]를 참고하십시오. \\ \\ | 사용자 인증을 위한 지문 템플릿 리스트로 반드시 **user.numFingers**만큼 존재해야 합니다. 데이터 형식은 [[Fingerprint API]]를 참고하십시오. \\ \\ | ||
8. //faceObjs// \\ | 8. //faceObjs// \\ | ||
- | ''FaceStation2'', ''FaceLite'' 사용자 인증을 위한 얼굴 템플릿 리스트로 반드시 **user.numFaces**만큼 존재해야 합니다. 데이터 형식은 [[Face API]]를 참고하십시오. \\ \\ | + | ''IR Face 지원 장치'' 사용자 인증을 위한 얼굴 템플릿 리스트로 반드시 **user.numFaces**만큼 존재해야 합니다. 데이터 형식은 [[Face API]]를 참고하십시오. \\ \\ |
9. //job// \\ | 9. //job// \\ | ||
근태모드에서 사용자의 작업코드입니다. \\ \\ | 근태모드에서 사용자의 작업코드입니다. \\ \\ | ||
10. //phrase// \\ | 10. //phrase// \\ | ||
- | 인증시 장치 UI에서 표시되는 개인 메시지입니다. (FS2 FW 1.0.0 이상 버전에서만 가능)\\ \\ | + | 인증시 장치 UI에서 표시되는 개인 메시지입니다. \\ |
+ | <WRAP group 30%> | ||
+ | ^지원 모델 ^지원 버전 ^ | ||
+ | |FaceStation 2 |V1.0.0 이상 | | ||
+ | |FaceStation F2 |V1.0.0 이상 | | ||
+ | |X-Station 2 |V1.0.0 이상 | | ||
+ | </WRAP> | ||
11. //accessGroupId// \\ | 11. //accessGroupId// \\ | ||
사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | 사용자가 속한 출입 그룹을 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\ | ||
12. //settingEx// \\ | 12. //settingEx// \\ | ||
- | ''FaceStation F2'' 개인인증모드를 설정할 수 있습니다. 지문과 얼굴을 함께 조합한 더 다양한 인증모드의 조합이 가능하게 되었습니다. \\ \\ | + | ''Visual Face 지원 장치'' 개인인증모드를 설정할 수 있습니다. 지문과 얼굴을 함께 조합한 더 다양한 인증모드의 조합이 가능하게 되었습니다. \\ \\ |
13. //faceExObjs// \\ | 13. //faceExObjs// \\ | ||
- | ''FaceStation F2'' 사용자 인증을 위한 얼굴 템플릿 리스트로 반드시 **user.numFaces**만큼 존재해야 합니다. 데이터 형식은 [[Face API]]를 참고하십시오. \\ \\ | + | ''Visual Face 지원 장치'' 사용자 인증을 위한 얼굴 템플릿 리스트로 반드시 **user.numFaces**만큼 존재해야 합니다. 데이터 형식은 [[Face API]]를 참고하십시오. \\ \\ |
+ | |||
+ | ==== BS2UserStatistic ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t numUsers; | ||
+ | uint32_t numCards; | ||
+ | uint32_t numFingerprints; | ||
+ | uint32_t numFaces; | ||
+ | uint32_t numNames; | ||
+ | uint32_t numImages; | ||
+ | uint32_t numPhrases; | ||
+ | } BS2UserStatistic; | ||
+ | </code> | ||
+ | |||
+ | 1. //numUsers// \\ | ||
+ | 등록된 사용자 수입니다. \\ \\ | ||
+ | 2. //numCards// \\ | ||
+ | 등록된 카드의 개수입니다. \\ \\ | ||
+ | 3. //numFingerprints// \\ | ||
+ | 등록된 지문의 개수입니다. \\ \\ | ||
+ | 4. //numFaces// \\ | ||
+ | 등록된 얼굴의 개수입니다. \\ \\ | ||
+ | 5. //numNames// \\ | ||
+ | 등록된 사용자명의 개수입니다. \\ \\ | ||
+ | 6. //numImages// \\ | ||
+ | 등록된 이미지 개수입니다. \\ \\ | ||
+ | 7. //numPhrases// \\ | ||
+ | 등록된 개인메시지 개수입니다. \\ \\ | ||