struktur SEC_WINNT_AUTH_IDENTITY_EX2 (sspi.h)
Berisi informasi tentang identitas autentikasi. Struktur
Sintaksis
typedef struct _SEC_WINNT_AUTH_IDENTITY_EX2 {
unsigned long Version;
unsigned short cbHeaderLength;
unsigned long cbStructureLength;
unsigned long UserOffset;
unsigned short UserLength;
unsigned long DomainOffset;
unsigned short DomainLength;
unsigned long PackedCredentialsOffset;
unsigned short PackedCredentialsLength;
unsigned long Flags;
unsigned long PackageListOffset;
unsigned short PackageListLength;
} SEC_WINNT_AUTH_IDENTITY_EX2, *PSEC_WINNT_AUTH_IDENTITY_EX2;
Anggota
Version
Nomor versi struktur. Ini harus SEC_WINNT_AUTH_IDENTITY_VERSION_2.
cbHeaderLength
Ukuran, dalam byte, dari header struktur.
cbStructureLength
Ukuran, dalam byte, dari struktur.
UserOffset
Offset dari awal struktur ke awal string nama pengguna.
UserLength
Ukuran, dalam byte, dari string nama pengguna.
DomainOffset
Offset dari awal struktur ke awal string nama domain.
Kredensial identitas harus berisi nama penyedia identitas alih-alih nama domain.
DomainLength
Ukuran, dalam byte, dari string nama domain.
PackedCredentialsOffset
Offset dari awal struktur hingga awal kredensial yang dikemas.
Kredensial yang dikemas adalah struktur SEC_WINNT_AUTH_PACKED_CREDENTIALS yang berisi jenis kredensial yang secara unik menentukan jenis kredensial.
PackedCredentialsLength
Ukuran, dalam byte, dari string kredensial yang dikemas.
Flags
Bendera panjang
PackageListOffset
Offset dari awal struktur ke awal daftar paket yang didukung.
PackageListLength
Ukuran, dalam byte, dari daftar paket yang didukung.
Komentar
Buffer identitas autentikasi ini dapat dikembalikan dari beberapa API kredensial, misalnya, metode
Struktur menjelaskan header buffer identitas autentikasi dan data ditambahkan di akhir struktur. Meskipun ukuran buffer ditentukan oleh cbStructureLength anggota, ukuran buffer yang sebenarnya bisa lebih besar atau lebih kecil dari cbStructureLength. Beberapa fungsi, seperti SspiValidateAuthIdentity, ambil penunjuk, tetapi bukan ukuran buffer, ke struktur identitas sebagai input. Akibatnya, fungsi-fungsi tersebut dapat memvalidasi data buffer internal tetapi tidak dapat memverifikasi ukuran buffer. Hal ini dapat mengakibatkan pembacaan atau penulisan data di luar rentang buffer. Untuk menghindari overruns buffer saat menangani buffer identitas yang tidak tepercaya, aplikasi harus memanggil SspiUnmarshalAuthIdentity untuk mendapatkan pointer ke struktur identitas dengan ukuran yang divalidasi dan kemudian meneruskan penunjuk tersebut ke fungsi.
Struktur SEC_WINNT_AUTH_IDENTITY_EX2 dapat dikembalikan oleh QueryContextAttributes(CredSSP) dan digunakan oleh AcquireCredentialsHandle(CredSSP), LsaLogonUser, dan antarmuka penyedia identitas lainnya.
SEC_WINNT_AUTH_PACKED_CREDENTIALS dapat berisi jenis kredensial kata sandi, yang didefinisikan sebagai SEC_WINNT_AUTH_DATA_TYPE_PASSWORD. Jenis kredensial ini menjelaskan kredensial kata sandi pengguna domain serta identitas online lainnya. Aplikasi harus menentukan _SEC_WINNT_AUTH_TYPES untuk mengkompilasi kode yang mereferensikan jenis kredensial ini serta definisi lain dari struktur SEC_WINNT_AUTH_PACKED_CREDENTIALS.
Aplikasi tidak boleh mengkueri atau mengatur Flags anggota secara langsung. Gunakan fungsi SspiIsAuthIdentityEncrypted, SspiEncryptAuthIdentityEx, dan SspiDecryptAuthIdentity Ex untuk mengelola enkripsi dan dekripsi struktur SEC_WINNT_AUTH_IDENTITY_EX2.
Penyedia identitas harus secara eksplisit memeriksa atau mengatur SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER dan bidang nama domain untuk membedakan kredensial kata sandi mereka dari kata sandi domain dan kata sandi penyedia identitas lain.
Fungsi
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
server minimum yang didukung |
Windows Server 2008 R2 [hanya aplikasi desktop] |
Header |
sspi.h |