fungsi Msv1_0SubAuthenticationRoutine (subauth.h)
Fungsi Msv1_0SubAuthenticationRoutine melakukan autentikasi khusus klien/server.
Kredensial dan informasi perwakilan keamanan dari database Security Accounts Manager (SAM) diteruskan ke fungsi ini untuk autentikasi.
Fungsi ini diimplementasikan oleh DLL paket subautentikasi kustom untuk digunakan dengan paket autentikasi MSV1_0.
Fungsi Msv1_0SubAuthenticationRoutine hanya dipanggil untuk autentikasi noninteraktif, hanya pada server autentikasi tempat akun berada, dan hanya jika DLL subautentikasi terdaftar di bawah kunci yang benar dalam registri.
Sintaks
NTSTATUS Msv1_0SubAuthenticationRoutine(
[in] NETLOGON_LOGON_INFO_CLASS LogonLevel,
[in] PVOID LogonInformation,
[in] ULONG Flags,
[in] PUSER_ALL_INFORMATION UserAll,
[out] PULONG WhichFields,
[out] PULONG UserFlags,
[out] PBOOLEAN Authoritative,
[out] PLARGE_INTEGER LogoffTime,
[out] PLARGE_INTEGER KickoffTime
);
Parameter
[in] LogonLevel
Menentukan tingkat informasi yang diberikan dalam parameter LogonInformation . Parameter ini biasanya diatur ke NetlogonInteractiveInformation.
[in] LogonInformation
Penunjuk ke struktur NETLOGON_LOGON_IDENTITY_INFO . Anggota struktur ini berisi informasi tentang pengguna yang masuk. Anggota LogonDomainName dari struktur ini diabaikan.
[in] Flags
Pilihan. Berisi bendera yang menjelaskan keadaan masuk. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Autentikasi pass-through. Pengguna tidak tersambung ke komputer ini. |
|
Ini adalah coba lagi masuk menggunakan akun pengguna TAMU. |
[in] UserAll
Penunjuk ke struktur USER_ALL_INFORMATION yang berisi deskripsi pengguna seperti yang dikembalikan dari database SAM.
[out] WhichFields
Mengembalikan anggota struktur USER_ALL_INFORMATION yang perlu ditulis kembali ke database SAM. Anggota ini hanya akan ditulis jika Msv1_0SubAuthenticationRoutine mengembalikan keberhasilan kepada pemanggil. Hanya nilai berikut yang valid.
Nilai | Makna |
---|---|
|
Tulis data yang terkandung dalam anggota Parameter dari struktur UserAll kembali ke database SAM.
Jika ukuran buffer UNICODE_STRING anggota Parameter diubah, Msv1_0SubAuthenticationRoutine harus menghapus buffer dengan menggunakan fungsi MIDL_user_free dan mengalokasikannya kembali dengan menggunakan fungsi MIDL_user_allocate . |
[out] UserFlags
Nilai yang akan dikembalikan dari parameter ProfileBuffer fungsi LsaLogonUser, saat berisi struktur MSV1_0_LM20_LOGON_PROFILE. Nilai berikut saat ini didefinisikan untuk anggota UserFlags dari struktur.
Nilai | Makna |
---|---|
|
Ini adalah log masuk tamu. |
|
Pemanggil tidak menentukan kredensial terenkripsi. |
[out] Authoritative
Penunjuk ke nilai Boolean yang menunjukkan apakah status yang dikembalikan adalah status otoritatif yang harus dikembalikan ke pemanggil asli. Jika nilai yang dikembalikan adalah FALSE, permintaan masuk dapat dicoba lagi pada pengontrol domain lain. Parameter ini harus mengembalikan informasi yang valid terlepas dari nilai pengembalian panggilan fungsi.
[out] LogoffTime
Penunjuk ke nilai yang menerima waktu pengguna harus keluar dari sistem. Waktu ini digunakan untuk mengontrol masa pakai log masuk dan ditentukan sebagai waktu sistem relatif GMT.
[out] KickoffTime
Penunjuk ke nilai yang menerima waktu saat pengguna harus keluar dari sistem. Waktu ini digunakan untuk mengontrol masa pakai log masuk dan ditentukan sebagai waktu sistem relatif GMT. Jika pengguna tidak akan masuk, tentukan nilai positif besar, seperti:
KickoffTime->HighPart = 0x7FFFFFFF;
KickoffTime->LowPart = 0xFFFFFFFF;
Mengembalikan nilai
Fungsi ini harus mengembalikan salah satu nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Tidak ada kesalahan. |
|
Akun dinonaktifkan. |
|
Akun telah kedaluwarsa. |
|
Akun terkunci. |
|
LogonLevel tidak valid. |
|
Pengguna tidak berwenang untuk masuk saat ini. |
|
Pengguna tidak berwenang untuk masuk ke stasiun kerja yang ditentukan. |
|
Pengguna yang ditentukan tidak memiliki akun. |
|
Kata sandi kedaluwarsa. |
|
Akun ditandai untuk menunjukkan bahwa kata sandi harus diubah pada masuk berikutnya. |
|
Kata sandi tidak valid. |
Keterangan
Fungsi ini dipanggil oleh paket autentikasi MSV1_0 jika bagian dari parameter AuthenticationInformation menunjukkan bahwa subautentikasi harus dilakukan dan jika DLL subautentikasi yang mengekspor fungsi Msv1_0SubAuthenticationRoutine terdaftar dengan benar di stasiun kerja.
Paket autentikasi MSV1_0 tidak mendukung subautentikasi untuk masuk interaktif, yang memerlukan struktur MSV1_0_INTERACTIVE_LOGON . Logon jaringan, yang memerlukan struktur MSV1_0_LM20_LOGON , dapat menggunakan subauthentication.
Fungsi Msv1_0SubAuthenticationRoutine dipanggil setelah pengendali domain yang benar telah ditemukan dan semua informasi tentang prinsip keamanan yang akan diautentikasi telah diambil dari database SAM. Ketika subautentikasi digunakan, autentikasi adalah tanggung jawab DLL subautentikasi dan harus dilakukan oleh fungsi Msv1_0SubAuthenticationRoutine yang diekspor oleh DLL tersebut.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | subauth.h |
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