将用户与指纹关联

· 组件

sgcBiometrics 1.4.0 将新增名为 TsgcWinBioUsersINI 的组件,允许将指纹与用户关联并将数据保存在 INI 文件中。

如需保存与指纹关联的用户数据,例如:可使用系统池传感器保存不同用户的指纹(受单个数据库关联的指纹类型数量限制)。您可以将此组件与 TsgcWinBioFingerPrint 组件关联,每次录入新的生物特征样本时,即可保存用户数据,如:用户名、用户 ID 等。

工作原理

1. 拖放 TsgcWinBioFingerPrint 组件。
2. 拖放 TsgcWinBioUsersINI 组件。
3. 将 TsgcWinBioFingerPrint.Users 属性关联到 TsgcWinBioUsersINI 对象。
4. 处理 TsgcWinBioUsersINI 事件以设置(OnEnrollUser)和获取(OnIdentifyUser)用户数据。

OnEnrollUser(注册用户) 

procedure TFRMFingerPrint.sgcWinBioUsersINI1EnrollUser(Sender: TObject; const
  User: TsgcBiometrics_WinBio_User);
begin
  User.UserId := '0001';
User.UserName := 'John';
User.UserData := '<xml><phone>656545644</phone></xml>';
User.UserSubType := WINBIO_ANSI_381_POS_RH_THUMB;
end; 

OnIdentifyUser(识别用户) 

procedure TFRMFingerPrint.sgcWinBioUsersINI1IdentifyUser(Sender: TObject; const
  aUnitId: Integer; const aIdentity: WINBIO_IDENTITY; const aSubFactor:
  WINBIO_BIOMETRIC_SUBTYPE; const aRejectDetail: WINBIO_REJECT_DETAIL; const
  User: TsgcBiometrics_WinBio_User);
var
  vSubFactor: String;
begin
  case aSubfactor of
    WINBIO_ANSI_381_POS_RH_THUMB: vSubFactor := 'RH_THUMB';
    WINBIO_ANSI_381_POS_RH_INDEX_FINGER: vSubFactor := 'RH_INDEX_FINGER';
    WINBIO_ANSI_381_POS_RH_MIDDLE_FINGER: vSubFactor := 'RH_MIDDLE_FINGER';
    WINBIO_ANSI_381_POS_RH_RING_FINGER: vSubFactor := 'RH_RING_FINGER';
    WINBIO_ANSI_381_POS_RH_LITTLE_FINGER: vSubFactor := 'RH_LITTLE_FINGER';
    WINBIO_ANSI_381_POS_LH_THUMB: vSubFactor := 'LH_THUMB';
    WINBIO_ANSI_381_POS_LH_INDEX_FINGER: vSubFactor := 'LH_INDEX_FINGER';
    WINBIO_ANSI_381_POS_LH_MIDDLE_FINGER: vSubFactor := 'LH_MIDDLE_FINGER';
    WINBIO_ANSI_381_POS_LH_RING_FINGER: vSubFactor := 'LH_RING_FINGER';
    WINBIO_ANSI_381_POS_LH_LITTLE_FINGER: vSubFactor := 'LH_LITTLE_FINGER';
  end;
end;