Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan vehet fel ujjlenyomat-biometrikus adatokat a Windows alkalmazásához, beleértve az ujjlenyomathitelesítési kérést abban az esetben, amikor a felhasználónak hozzá kell járulnia egy adott művelethez, ami növeli az alkalmazás biztonságát. Például az alkalmazáson belüli vásárlás engedélyezése előtt ujjlenyomat-hitelesítésre vagy korlátozott erőforrásokhoz való hozzáférésre is szükség lehet. Az ujjlenyomat-hitelesítés a Windows.Security.Credentials.UI névtér UserConsentVerifier osztályával kezelhető.
Az ujjlenyomat-biometrikus azonosításhoz készült Windows Runtime (WinRT) API-k a Windows Software Development Kit (SDK) részét képezik. Ezek az API-k a WinUI-ban és más asztali alkalmazásokban, például a WPF-ben és a WinForm-ban is használhatók. A WinRT API-k windowsos asztali alkalmazásban való használatáról további információt a Windows futtatókörnyezeti API-k meghívása asztali alkalmazásokban című témakörben talál.
Ellenőrizze, hogy van-e ujjlenyomat-olvasó az eszközön
Annak megállapításához, hogy az eszköz rendelkezik-e ujjlenyomat-olvasóval, hívja a UserConsentVerifier.CheckAvailabilityAsync parancsot. Még akkor is, ha egy eszköz támogatja az ujjlenyomat-hitelesítést, az alkalmazásnak továbbra is engedélyeznie vagy letiltani kell a beállítások egyik lehetőségét a felhasználók számára.
public async System.Threading.Tasks.Task<string> CheckFingerprintAvailability()
{
string returnMessage = "";
try
{
// Check the availability of fingerprint authentication.
var ucvAvailability = await Windows.Security.Credentials.UI.UserConsentVerifier.CheckAvailabilityAsync();
switch (ucvAvailability)
{
case Windows.Security.Credentials.UI.UserConsentVerifierAvailability.Available:
returnMessage = "Fingerprint verification is available.";
break;
case Windows.Security.Credentials.UI.UserConsentVerifierAvailability.DeviceBusy:
returnMessage = "Biometric device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerifierAvailability.DeviceNotPresent:
returnMessage = "No biometric device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerifierAvailability.DisabledByPolicy:
returnMessage = "Biometric verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerifierAvailability.NotConfiguredForUser:
returnMessage = "The user has no fingerprints registered. Please add a fingerprint to the " +
"fingerprint database and try again.";
break;
default:
returnMessage = "Fingerprints verification is currently unavailable.";
break;
}
}
catch (Exception ex)
{
returnMessage = $"Fingerprint authentication availability check failed: {ex.ToString()}";
}
return returnMessage;
}
Hozzájárulás kérése és eredmények visszaküldése
- Ha felhasználói hozzájárulást szeretne kérni egy ujjlenyomat-vizsgálattól, hívja meg a UserConsentVerifier.RequestVerificationAsync metódust . Ahhoz, hogy az ujjlenyomat-hitelesítés működjön, a felhasználónak korábban hozzá kell adnia egy ujjlenyomat-aláírást az ujjlenyomat-adatbázishoz.
- Amikor meghívja a UserConsentVerifier.RequestVerificationAsync parancsot, a felhasználó megjelenik egy modális párbeszédpanelen, amely ujjlenyomat-vizsgálatot kér. Megadhat egy üzenetet a UserConsentVerifier.RequestVerificationAsync metódusnak, amely a modális párbeszédpanel részeként jelenik meg a felhasználó számára, ahogyan az az alábbi képen is látható.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
if (String.IsNullOrEmpty(userMessage))
{
userMessage = "Please provide fingerprint verification.";
}
try
{
// Request the logged on user's consent via fingerprint swipe.
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifier.RequestVerificationAsync(userMessage);
switch (consentResult)
{
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified:
returnMessage = "Fingerprint verified.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy:
returnMessage = "Biometric device is busy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent:
returnMessage = "No biometric device found.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy:
returnMessage = "Biometric verification is disabled by policy.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser:
returnMessage = "The user has no fingerprints registered. Please add a fingerprint to the " +
"fingerprint database and try again.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted:
returnMessage = "There have been too many failed attempts. Fingerprint authentication canceled.";
break;
case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled:
returnMessage = "Fingerprint authentication canceled.";
break;
default:
returnMessage = "Fingerprint authentication is currently unavailable.";
break;
}
}
catch (Exception ex)
{
returnMessage = $"Fingerprint authentication failed: {ex.ToString()}";
}
return returnMessage;
}
Kapcsolódó tartalom
Windows developer