UserConsentVerifier Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memeriksa ketersediaan perangkat verifikasi (seperti PIN Paspor Microsoft, Windows Hello biometrik, atau pembaca sidik jari), dan melakukan verifikasi.
public ref class UserConsentVerifier abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class UserConsentVerifier final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class UserConsentVerifier
Public Class UserConsentVerifier
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Contoh
Aplikasi desktop menggunakan C#
Untuk aplikasi desktop, alih-alih memanggil metode UserConsentVerifier.RequestVerificationAsync , Anda harus:
- Pertama Ambil handel jendela (HWND). Topik tersebut berisi contoh kode untuk Windows UI Library (WinUI) 3, Windows Presentation Foundation (WPF), dan Formulir Windows (WinForms). Colokkan kode tersebut ke dalam daftar kode di bawah ini.
- Kemudian panggil metode RequestVerificationForWindowAsync dari kelas interop Windows.Security.Credentials.UI.UserConsentVerifierInterop C#. Untuk informasi selengkapnya tentang kelas interop C#, lihat Memanggil API interop dari aplikasi .NET. Lihat juga Menampilkan objek UI WinRT yang bergantung pada CoreWindow.
private async System.Threading.Tasks.Task<string> RequestConsent(string userMessage)
{
string returnMessage;
if (String.IsNullOrEmpty(userMessage))
{
userMessage = "Please provide fingerprint verification.";
}
try
{
// Retrieve the window handle by passing a reference to the WinUI 3 window object
var hwnd = ...
// Request the logged on user's consent via fingerprint swipe using the interop interface
var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifierInterop.RequestVerificationForWindowAsync(hwnd, 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;
}
aplikasi Platform Windows Universal (UWP) menggunakan C#
Contoh kode ini untuk aplikasi Platform Windows Universal (UWP). Ini menunjukkan permintaan verifikasi sidik jari diikuti dengan mengembalikan pesan yang menjelaskan hasilnya. Kode ini memanggil metode UserConsentVerifier.RequestVerificationAsync , yang sesuai untuk aplikasi UWP.
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;
}
Keterangan
Anda dapat menggunakan UserConsentVerifier untuk meningkatkan keamanan aplikasi Anda dengan menyertakan permintaan verifikasi setiap kali pengguna diharuskan menyetujui tindakan tertentu. Misalnya, Anda dapat memerlukan autentikasi sidik jari sebelum mengotorisasi pembelian dalam aplikasi atau akses ke sumber daya terbatas. Anda dapat menggunakan UserConsentVerifier untuk menentukan apakah autentikasi sidik jari didukung untuk komputer saat ini dengan menggunakan metode CheckAvailabilityAsync , lalu meminta persetujuan pengguna dari pemindaian sidik jari dengan menggunakan metode RequestVerificationAsync .
Metode
CheckAvailabilityAsync() |
Memeriksa untuk melihat apakah perangkat pemverifikasi, seperti PIN Paspor Microsoft, Windows Hello, atau pembaca sidik jari, tersedia. |
RequestVerificationAsync(String) |
Melakukan verifikasi menggunakan perangkat seperti PIN Paspor Microsoft, Windows Hello, atau pembaca sidik jari. API ini untuk aplikasi Platform Windows Universal (UWP). API alternatif yang digunakan untuk aplikasi desktop dijelaskan dalam Contoh di kelas UserConsentVerifier. |
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk