Merge pull request !9 from 杨敏/openkylin/yangtze
This commit is contained in:
杨敏 2023-04-17 06:08:26 +00:00 committed by Gitee
commit 0c5fb37eae
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 15 additions and 7 deletions

View File

@ -167,7 +167,10 @@ unsigned LoginOptionsWidget::getLoginOptCount()
DeviceInfoPtr LoginOptionsWidget::getFirstDevInfo()
{
DeviceInfoPtr devInfo = nullptr;
int nDrvId = m_bioDevices->GetLastDevice(getpwuid(getuid())->pw_name);
struct passwd* pwdInfo = getpwuid(m_uid);
if (!pwdInfo)
return devInfo;
int nDrvId = m_bioDevices->GetLastDevice(pwdInfo->pw_name);
if (nDrvId >= 0) {
qDebug()<<"GetLastDevice:"<<nDrvId;
DeviceMap::iterator itDevInfo = m_mapDevices.begin();
@ -381,11 +384,16 @@ void LoginOptionsWidget::startAuth(DeviceInfoPtr device, int uid)
qDebug()<<"deviceInfo:"<<device->device_id;
this->m_curDevInfo = device;
this->m_uid = uid;
this->m_strUserName = getpwuid(uid)->pw_name;
struct passwd *pwdInfo = getpwuid(uid);
if (pwdInfo) {
this->m_strUserName = pwdInfo->pw_name;
}
this->m_isStopped = false;
this->m_curLoginOptType = convertDeviceType(this->m_curDevInfo->biotype);
updateUIStatus(true);
m_bioDevices->SetLastDevice(getpwuid(getuid())->pw_name, this->m_curDevInfo->device_id);
if (pwdInfo) {
m_bioDevices->SetLastDevice(pwdInfo->pw_name, this->m_curDevInfo->device_id);
}
startAuth_();
}

View File

@ -259,7 +259,7 @@ void MainWindow::onConfigurationChanged(QString key)
void MainWindow::restart_bio_identify()
{
DeviceInfoPtr device = bioDevices.getDefaultDevice(getuid());
DeviceInfoPtr device = bioDevices.getDefaultDevice(getUid(userName));
if(device){
m_loginOptsWidget->startAuth(device, getUid(userName));
setMessage(tr("Please enter your password or enroll your fingerprint "));
@ -744,7 +744,7 @@ void MainWindow::switchAuthMode(Mode mode)
ui->btnBioAuth->hide();
// if(enableBioAuth && useDoubleAuth){
// DeviceInfoPtr device = bioDevices.getDefaultDevice(getuid());
// DeviceInfoPtr device = bioDevices.getDefaultDevice(getUid(userName));
// if(device){
// widgetBioAuth->startAuth(getUid(userName), device);
// }
@ -769,7 +769,7 @@ void MainWindow::switchAuthMode(Mode mode)
emit accept(BIOMETRIC_IGNORE);
return;
} else if(authMode == BIOMETRIC) {
QString strDeviceName = m_loginOptsWidget->GetDefaultDevice(getuid());
QString strDeviceName = m_loginOptsWidget->GetDefaultDevice(uid);
//如果默认设备为空的话,第一次不启动生物识别认证
if(strDeviceName.isEmpty() && !m_deviceInfo)
{
@ -799,7 +799,7 @@ void MainWindow::switchAuthMode(Mode mode)
if(enableBioAuth) {
qDebug() << "enable biometric authenticaion";
QString strDeviceName = m_loginOptsWidget->GetDefaultDevice(getuid());
QString strDeviceName = m_loginOptsWidget->GetDefaultDevice(uid);
//如果默认设备为空的话,第一次不启动生物识别认证
if(strDeviceName.isEmpty() && !m_deviceInfo)
{