Kelas CAccessToken
Kelas ini adalah pembungkus untuk token akses.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CAccessToken
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CAccessToken::~CAccessToken | Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CAccessToken::Lampirkan | Panggil metode ini untuk mengambil kepemilikan handel token akses yang diberikan. |
CAccessToken::CheckTokenMembership | Panggil metode ini untuk menentukan apakah SID tertentu diaktifkan dalam CAccessToken objek. |
CAccessToken::CreateImpersonationToken | Panggil metode ini untuk membuat token akses peniruan baru. |
CAccessToken::CreatePrimaryToken | Panggil metode ini untuk membuat token utama baru. |
CAccessToken::CreateProcessAsUser | Panggil metode ini untuk membuat proses baru yang berjalan dalam konteks keamanan pengguna yang diwakili oleh CAccessToken objek. |
CAccessToken::CreateRestrictedToken | Panggil metode ini untuk membuat objek baru yang dibatasi CAccessToken . |
CAccessToken::D etach | Panggil metode ini untuk mencabut kepemilikan token akses. |
CAccessToken::D isablePrivilege | Panggil metode ini untuk menonaktifkan hak istimewa dalam CAccessToken objek. |
CAccessToken::D isablePrivileges | Panggil metode ini untuk menonaktifkan satu atau beberapa hak istimewa dalam CAccessToken objek. |
CAccessToken::EnablePrivilege | Panggil metode ini untuk mengaktifkan hak istimewa dalam CAccessToken objek. |
CAccessToken::EnablePrivileges | Panggil metode ini untuk mengaktifkan satu atau beberapa hak istimewa dalam CAccessToken objek. |
CAccessToken::GetDefaultDacl | Panggil metode ini untuk mengembalikan CAccessToken DACL default objek. |
CAccessToken::GetEffectiveToken | Panggil metode ini untuk mendapatkan CAccessToken objek yang sama dengan token akses yang berlaku untuk utas saat ini. |
CAccessToken::GetGroups | Panggil metode ini untuk mengembalikan CAccessToken grup token objek. |
CAccessToken::GetHandle | Panggil metode ini untuk mengambil handel ke token akses. |
CAccessToken::GetImpersonationLevel | Panggil metode ini untuk mendapatkan tingkat peniruan dari token akses. |
CAccessToken::GetLogonSessionId | Panggil metode ini untuk mendapatkan ID Sesi Masuk yang CAccessToken terkait dengan objek. |
CAccessToken::GetLogonSid | Panggil metode ini untuk mendapatkan SID Masuk yang terkait dengan CAccessToken objek. |
CAccessToken::GetOwner | Panggil metode ini untuk mendapatkan pemilik yang terkait dengan CAccessToken objek. |
CAccessToken::GetPrimaryGroup | Panggil metode ini untuk mendapatkan grup utama yang CAccessToken terkait dengan objek. |
CAccessToken::GetPrivileges | Panggil metode ini untuk mendapatkan hak istimewa yang terkait dengan CAccessToken objek. |
CAccessToken::GetProcessToken | Panggil metode ini untuk menginisialisasi CAccessToken dengan token akses dari proses yang diberikan. |
CAccessToken::GetProfile | Panggil metode ini untuk mendapatkan handel yang menunjuk ke profil pengguna yang CAccessToken terkait dengan objek. |
CAccessToken::GetSource | Panggil metode ini untuk mendapatkan sumber CAccessToken objek. |
CAccessToken::GetStatistics | Panggil metode ini untuk mendapatkan informasi yang CAccessToken terkait dengan objek. |
CAccessToken::GetTerminalServicesSessionId | Panggil metode ini untuk mendapatkan ID Sesi Layanan Terminal yang CAccessToken terkait dengan objek. |
CAccessToken::GetThreadToken | Panggil metode ini untuk menginisialisasi CAccessToken dengan token dari utas yang diberikan. |
CAccessToken::GetTokenId | Panggil metode ini untuk mendapatkan ID Token yang terkait dengan CAccessToken objek. |
CAccessToken::GetType | Panggil metode ini untuk mendapatkan jenis CAccessToken token objek. |
CAccessToken::GetUser | Panggil metode ini untuk mengidentifikasi pengguna yang terkait dengan CAccessToken objek. |
CAccessToken::HKeyCurrentUser | Panggil metode ini untuk mendapatkan handel yang menunjuk ke profil pengguna yang CAccessToken terkait dengan objek. |
CAccessToken::Impersonate | Panggil metode ini untuk menetapkan peniruan CAccessToken ke utas. |
CAccessToken::ImpersonateLoggedOnUser | Panggil metode ini untuk memungkinkan utas panggilan meniru konteks keamanan pengguna yang masuk. |
CAccessToken::IsTokenRestricted | Panggil metode ini untuk menguji apakah CAccessToken objek berisi daftar SID terbatas. |
CAccessToken::LoadUserProfile | Panggil metode ini untuk memuat profil pengguna yang terkait dengan CAccessToken objek. |
CAccessToken::LogonUser | Panggil metode ini untuk membuat sesi masuk untuk pengguna yang terkait dengan kredensial yang diberikan. |
CAccessToken::OpenCOMClientToken | Panggil metode ini dari dalam server COM yang menangani panggilan dari klien untuk menginisialisasi CAccessToken dengan token akses dari klien COM. |
CAccessToken::OpenNamedPipeClientToken | Panggil metode ini dari dalam server yang mengambil permintaan melalui pipa bernama untuk menginisialisasi CAccessToken dengan token akses dari klien. |
CAccessToken::OpenRPCClientToken | Panggil metode ini dari dalam server yang menangani panggilan dari klien RPC untuk menginisialisasi CAccessToken dengan token akses dari klien. |
CAccessToken::OpenThreadToken | Panggil metode ini untuk mengatur tingkat peniruan dan kemudian inisialisasi CAccessToken dengan token dari utas yang diberikan. |
CAccessToken::P rivilegeCheck | Panggil metode ini untuk menentukan apakah sekumpulan hak istimewa tertentu diaktifkan dalam CAccessToken objek. |
CAccessToken::Kembali | Panggil metode ini untuk menghentikan utas yang menggunakan token peniruan identitas. |
CAccessToken::SetDefaultDacl | Panggil metode ini untuk mengatur DACL CAccessToken default objek. |
CAccessToken::SetOwner | Panggil metode ini untuk mengatur pemilik CAccessToken objek. |
CAccessToken::SetPrimaryGroup | Panggil metode ini untuk mengatur grup CAccessToken utama objek. |
Keterangan
Token akses adalah objek yang menjelaskan konteks keamanan proses atau utas dan dialokasikan untuk setiap pengguna yang masuk ke sistem Windows.
Untuk pengenalan model kontrol akses di Windows, lihat Kontrol Akses di Windows SDK.
Persyaratan
Header: atlsecurity.h
CAccessToken::Lampirkan
Panggil metode ini untuk mengambil kepemilikan handel token akses yang diberikan.
void Attach(HANDLE hToken) throw();
Parameter
hToken
Handel ke token akses.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika CAccessToken
objek sudah memiliki kepemilikan token akses.
CAccessToken::~CAccessToken
Destruktor.
virtual ~CAccessToken() throw();
Keterangan
Membebaskan semua sumber daya yang dialokasikan.
CAccessToken::CheckTokenMembership
Panggil metode ini untuk menentukan apakah SID tertentu diaktifkan dalam CAccessToken
objek.
bool CheckTokenMembership(
const CSid& rSid,
bool* pbIsMember) const throw(...);
Parameter
rSid
Referensi ke objek Kelas CSid.
pbIsMember
Penunjuk ke variabel yang menerima hasil pemeriksaan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Metode ini CheckTokenMembership
memeriksa keberadaan SID di SID pengguna dan grup token akses. Jika SID ada dan memiliki atribut SE_GROUP_ENABLED, pbIsMember diatur ke TRUE; jika tidak, SID diatur ke FALSE.
Dalam build debug, kesalahan pernyataan akan terjadi jika pbIsMember bukan penunjuk yang valid.
Catatan
Objek CAccessToken
harus berupa token peniruan identitas dan bukan token utama.
CAccessToken::CreateImpersonationToken
Panggil metode ini untuk membuat token akses peniruan identitas.
bool CreateImpersonationToken(
CAccessToken* pImp,
SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation) const throw(...);
Parameter
germo
Arahkan ke objek baru CAccessToken
.
sil
Menentukan jenis enumerasi SECURITY_IMPERSONATION_LEVEL yang memasok tingkat peniruan token baru.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
CreateImpersonationToken
memanggil DuplicateToken untuk membuat token peniruan baru.
CAccessToken::CreatePrimaryToken
Panggil metode ini untuk membuat token utama baru.
bool CreatePrimaryToken(
CAccessToken* pPri,
DWORD dwDesiredAccess = MAXIMUM_ALLOWED,
const CSecurityAttributes* pTokenAttributes = NULL) const throw(...);
Parameter
pPri
Arahkan ke objek baru CAccessToken
.
dwDesiredAccess
Menentukan hak akses yang diminta untuk token baru. Default, MAXIMUM_ALLOWED, meminta semua hak akses yang valid untuk pemanggil. Lihat Hak Akses dan Masker Akses untuk informasi selengkapnya tentang hak akses.
pTokenAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES yang menentukan deskriptor keamanan untuk token baru dan menentukan apakah proses turunan dapat mewarisi token. Jika pTokenAttributes adalah NULL, token mendapatkan deskriptor keamanan default dan handel tidak dapat diwariskan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
CreatePrimaryToken
memanggil DuplicateTokenEx untuk membuat token utama baru.
CAccessToken::CreateProcessAsUser
Panggil metode ini untuk membuat proses baru yang berjalan dalam konteks keamanan pengguna yang diwakili oleh CAccessToken
objek.
bool CreateProcessAsUser(
LPCTSTR pApplicationName,
LPTSTR pCommandLine,
LPPROCESS_INFORMATION pProcessInformation,
LPSTARTUPINFO pStartupInfo,
DWORD dwCreationFlags = NORMAL_PRIORITY_CLASS,
bool bLoadProfile = false,
const CSecurityAttributes* pProcessAttributes = NULL,
const CSecurityAttributes* pThreadAttributes = NULL,
bool bInherit = false,
LPCTSTR pCurrentDirectory = NULL) throw();
Parameter
pApplicationName
Penunjuk ke string null-terminated yang menentukan modul yang akan dijalankan. Parameter ini mungkin bukan NULL.
pCommandLine
Penunjuk ke string null-terminated yang menentukan baris perintah untuk dijalankan.
pProcessInformation
Penunjuk ke struktur PROCESS_INFORMATION yang menerima informasi identifikasi tentang proses baru.
pStartupInfo
Penunjuk ke struktur STARTUPINFO yang menentukan bagaimana jendela utama untuk proses baru akan muncul.
dwCreationFlags
Menentukan bendera tambahan yang mengontrol kelas prioritas dan pembuatan proses. Lihat fungsi Win32 CreateProcessAsUser untuk daftar bendera.
bLoadProfile
Jika TRUE, profil pengguna dimuat dengan LoadUserProfile.
pProcessAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES yang menentukan deskriptor keamanan untuk proses baru dan menentukan apakah proses turunan dapat mewarisi handel yang dikembalikan. Jika pProcessAttributes adalah NULL, proses mendapatkan deskriptor keamanan default dan handel tidak dapat diwariskan.
pThreadAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES yang menentukan deskriptor keamanan untuk utas baru dan menentukan apakah proses turunan dapat mewarisi handel yang dikembalikan. Jika pThreadAttributes adalah NULL, utas mendapatkan deskriptor keamanan default dan handel tidak dapat diwariskan.
bInherit
Menunjukkan apakah proses baru mewarisi handel dari proses panggilan. Jika TRUE, setiap handel terbuka yang dapat diwariskan dalam proses panggilan diwariskan oleh proses baru. Handel yang diwariskan memiliki nilai dan hak akses yang sama dengan handel asli.
pCurrentDirectory
Penunjuk ke string null-terminated yang menentukan drive dan direktori saat ini untuk proses baru. String harus berupa jalur lengkap yang menyertakan huruf kandar. Jika parameter ini NULL, proses baru akan memiliki drive dan direktori saat ini yang sama dengan proses pemanggilan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
CreateProcessAsUser
CreateProcessAsUser
menggunakan fungsi Win32 untuk membuat proses baru yang berjalan dalam konteks keamanan pengguna yang diwakili oleh CAccessToken
objek. Lihat deskripsi fungsi CreateProcessAsUser untuk diskusi lengkap tentang parameter yang diperlukan.
Agar metode ini berhasil, CAccessToken
objek harus menahan AssignPrimaryToken (kecuali jika merupakan token terbatas) dan hak istimewa IncreaseQuota.
CAccessToken::CreateRestrictedToken
Panggil metode ini untuk membuat objek baru yang dibatasi CAccessToken
.
bool CreateRestrictedToken(
CAccessToken* pRestrictedToken,
const CTokenGroups& SidsToDisable,
const CTokenGroups& SidsToRestrict,
const CTokenPrivileges& PrivilegesToDelete = CTokenPrivileges()) const throw(...);
Parameter
pRestrictedToken
Objek baru yang dibatasi CAccessToken
.
SidsToDisable
Objek CTokenGroups
yang menentukan SID khusus tolak.
SidsToRestrict
Objek CTokenGroups
yang menentukan SID pembatasan.
PrivilegesToDelete
Objek CTokenPrivileges
yang menentukan hak istimewa untuk dihapus dalam token terbatas. Default membuat objek kosong.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
CreateRestrictedToken
menggunakan fungsi CreateRestrictedToken Win32 untuk membuat objek baruCAccessToken
, dengan batasan.
Penting
Saat menggunakan CreateRestrictedToken
, pastikan hal berikut: token yang ada valid (dan tidak dimasukkan oleh pengguna) dan SidsToDisable dan PrivilegesToDelete valid (dan tidak dimasukkan oleh pengguna). Jika metode mengembalikan FALSE, tolak fungsionalitas.
CAccessToken::D etach
Panggil metode ini untuk mencabut kepemilikan token akses.
HANDLE Detach() throw();
Tampilkan Nilai
Mengembalikan handel ke CAccessToken
yang telah dilepas.
Keterangan
Metode ini mencabut CAccessToken
kepemilikan token akses.
CAccessToken::D isablePrivilege
Panggil metode ini untuk menonaktifkan hak istimewa dalam CAccessToken
objek.
bool DisablePrivilege(
LPCTSTR pszPrivilege,
CTokenPrivileges* pPreviousState = NULL) throw(...);
Parameter
pszPrivilege
Penunjuk ke string yang berisi hak istimewa untuk dinonaktifkan dalam CAccessToken
objek.
pPreviousState
Penunjuk ke CTokenPrivileges
objek yang akan berisi status hak istimewa sebelumnya.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::D isablePrivileges
Panggil metode ini untuk menonaktifkan satu atau beberapa hak istimewa dalam CAccessToken
objek.
bool DisablePrivileges(
const CAtlArray<LPCTSTR>& rPrivileges,
CTokenPrivileges* pPreviousState = NULL) throw(...);
Parameter
rPrivileges
Penunjuk ke array string yang berisi hak istimewa untuk dinonaktifkan dalam CAccessToken
objek.
pPreviousState
Penunjuk ke CTokenPrivileges
objek yang akan berisi status hak istimewa sebelumnya.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::EnablePrivilege
Panggil metode ini untuk mengaktifkan hak istimewa dalam CAccessToken
objek.
bool EnablePrivilege(
LPCTSTR pszPrivilege,
CTokenPrivileges* pPreviousState = NULL) throw(...);
Parameter
pszPrivilege
Penunjuk ke string yang berisi hak istimewa untuk diaktifkan dalam CAccessToken
objek.
pPreviousState
Penunjuk ke CTokenPrivileges
objek yang akan berisi status hak istimewa sebelumnya.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::EnablePrivileges
Panggil metode ini untuk mengaktifkan satu atau beberapa hak istimewa dalam CAccessToken
objek.
bool EnablePrivileges(
const CAtlArray<LPCTSTR>& rPrivileges,
CTokenPrivileges* pPreviousState = NULL) throw(...);
Parameter
rPrivileges
Penunjuk ke array string yang berisi hak istimewa untuk diaktifkan dalam CAccessToken
objek.
pPreviousState
Penunjuk ke CTokenPrivileges
objek yang akan berisi status hak istimewa sebelumnya.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetDefaultDacl
Panggil metode ini untuk mengembalikan CAccessToken
DACL default objek.
bool GetDefaultDacl(CDacl* pDacl) const throw(...);
Parameter
pDacl
Penunjuk ke objek Kelas CDacl yang akan menerima CAccessToken
DACL default objek.
Tampilkan Nilai
Mengembalikan TRUE jika DACL default telah dipulihkan, FALSE jika tidak.
CAccessToken::GetEffectiveToken
Panggil metode ini untuk mendapatkan CAccessToken
objek yang sama dengan token akses yang berlaku untuk utas saat ini.
bool GetEffectiveToken(DWORD dwDesiredAccess) throw();
Parameter
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetGroups
Panggil metode ini untuk mengembalikan CAccessToken
grup token objek.
bool GetGroups(CTokenGroups* pGroups) const throw(...);
Parameter
pGroups
Arahkan ke objek Kelas CTokenGroups yang akan menerima informasi grup.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetHandle
Panggil metode ini untuk mengambil handel ke token akses.
HANDLE GetHandle() const throw();
Tampilkan Nilai
Mengembalikan handel ke CAccessToken
token akses objek.
CAccessToken::GetImpersonationLevel
Panggil metode ini untuk mendapatkan tingkat peniruan dari token akses.
bool GetImpersonationLevel(
SECURITY_IMPERSONATION_LEVEL* pImpersonationLevel) const throw(...);
Parameter
pImpersonationLevel
Penunjuk ke jenis enumerasi SECURITY_IMPERSONATION_LEVEL yang akan menerima informasi tingkat peniruan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetLogonSessionId
Panggil metode ini untuk mendapatkan ID Sesi Masuk yang CAccessToken
terkait dengan objek.
bool GetLogonSessionId(LUID* pluid) const throw(...);
Parameter
pluid
Penunjuk ke LUID yang akan menerima ID Sesi Masuk.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika pluid adalah nilai yang tidak valid.
CAccessToken::GetLogonSid
Panggil metode ini untuk mendapatkan SID Masuk yang terkait dengan CAccessToken
objek.
bool GetLogonSid(CSid* pSid) const throw(...);
Parameter
pSid
Penunjuk ke objek Kelas CSid.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika pSid adalah nilai yang tidak valid.
CAccessToken::GetOwner
Panggil metode ini untuk mendapatkan pemilik yang terkait dengan CAccessToken
objek.
bool GetOwner(CSid* pSid) const throw(...);
Parameter
pSid
Penunjuk ke objek Kelas CSid.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Pemilik diatur secara default pada objek apa pun yang dibuat saat token akses ini berlaku.
CAccessToken::GetPrimaryGroup
Panggil metode ini untuk mendapatkan grup utama yang CAccessToken
terkait dengan objek.
bool GetPrimaryGroup(CSid* pSid) const throw(...);
Parameter
pSid
Penunjuk ke objek Kelas CSid.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Grup diatur secara default pada objek apa pun yang dibuat saat token akses ini berlaku.
CAccessToken::GetPrivileges
Panggil metode ini untuk mendapatkan hak istimewa yang terkait dengan CAccessToken
objek.
bool GetPrivileges(CTokenPrivileges* pPrivileges) const throw(...);
Parameter
pPrivileges
Penunjuk ke objek Kelas CTokenPrivileges yang akan menerima hak istimewa.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetProcessToken
Panggil metode ini untuk menginisialisasi CAccessToken
dengan token akses dari proses yang diberikan.
bool GetProcessToken(DWORD dwDesiredAccess, HANDLE hProcess = NULL) throw();
Parameter
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
hProcess
Tangani ke proses yang token aksesnya dibuka. Jika nilai default NULL digunakan, proses saat ini digunakan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Memanggil fungsi OpenProcessToken Win32.
CAccessToken::GetProfile
Panggil metode ini untuk mendapatkan handel yang menunjuk ke profil pengguna yang CAccessToken
terkait dengan objek.
HANDLE GetProfile() const throw();
Tampilkan Nilai
Mengembalikan handel yang menunjuk ke profil pengguna, atau NULL jika tidak ada profil.
CAccessToken::GetSource
Panggil metode ini untuk mendapatkan sumber CAccessToken
objek.
bool GetSource(TOKEN_SOURCE* pSource) const throw(...);
Parameter
pSource
Penunjuk ke struktur TOKEN_SOURCE .
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetStatistics
Panggil metode ini untuk mendapatkan informasi yang CAccessToken
terkait dengan objek.
bool GetStatistics(TOKEN_STATISTICS* pStatistics) const throw(...);
Parameter
pStatistics
Penunjuk ke struktur TOKEN_STATISTICS .
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetTerminalServicesSessionId
Panggil metode ini untuk mendapatkan ID Sesi Layanan Terminal yang CAccessToken
terkait dengan objek.
bool GetTerminalServicesSessionId(DWORD* pdwSessionId) const throw(...);
Parameter
pdwSessionId
ID Sesi Layanan Terminal.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetThreadToken
Panggil metode ini untuk menginisialisasi CAccessToken
dengan token dari utas yang diberikan.
bool GetThreadToken(
DWORD dwDesiredAccess,
HANDLE hThread = NULL,
bool bOpenAsSelf = true) throw();
Parameter
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
hThread
Tangani ke utas yang token aksesnya dibuka.
bOpenAsSelf
Menunjukkan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan utas yang memanggil GetThreadToken
metode atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dibuat menggunakan konteks keamanan proses untuk utas panggilan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetTokenId
Panggil metode ini untuk mendapatkan ID Token yang terkait dengan CAccessToken
objek.
bool GetTokenId(LUID* pluid) const throw(...);
Parameter
pluid
Pointer ke LUID yang akan menerima ID Token.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::GetType
Panggil metode ini untuk mendapatkan jenis CAccessToken
token objek.
bool GetType(TOKEN_TYPE* pType) const throw(...);
Parameter
pType
Alamat variabel TOKEN_TYPE yang, pada keberhasilan, menerima jenis token.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Jenis enumerasi TOKEN_TYPE berisi nilai yang membedakan antara token utama dan token peniruan identitas.
CAccessToken::GetUser
Panggil metode ini untuk mengidentifikasi pengguna yang terkait dengan CAccessToken
objek.
bool GetUser(CSid* pSid) const throw(...);
Parameter
pSid
Penunjuk ke objek Kelas CSid.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
CAccessToken::HKeyCurrentUser
Panggil metode ini untuk mendapatkan handel yang menunjuk ke profil pengguna yang CAccessToken
terkait dengan objek.
HKEY HKeyCurrentUser() const throw();
Tampilkan Nilai
Mengembalikan handel yang menunjuk ke profil pengguna, atau NULL jika tidak ada profil.
CAccessToken::Impersonate
Panggil metode ini untuk menetapkan peniruan CAccessToken
ke utas.
bool Impersonate(HANDLE hThread = NULL) const throw(...);
Parameter
hThread
Tangani ke utas untuk menetapkan token peniruan. Handel ini harus dibuka dengan hak akses TOKEN_IMPERSONATE. Jika hThread adalah NULL, metode menyebabkan utas berhenti menggunakan token peniruan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika CAccessToken
tidak memiliki penunjuk yang valid ke token.
Kelas CAutoRevertImpersonation dapat digunakan untuk mengembalikan token akses yang ditiru secara otomatis.
CAccessToken::ImpersonateLoggedOnUser
Panggil metode ini untuk memungkinkan utas panggilan meniru konteks keamanan pengguna yang masuk.
bool ImpersonateLoggedOnUser() const throw(...);
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Penting
Jika panggilan ke fungsi peniruan gagal karena alasan apa pun, klien tidak ditiru dan permintaan klien dibuat dalam konteks keamanan proses tempat panggilan dilakukan. Jika proses berjalan sebagai akun yang sangat istimewa, atau sebagai anggota grup administratif, pengguna mungkin dapat melakukan tindakan yang jika tidak diizinkan. Oleh karena itu, nilai pengembalian untuk fungsi ini harus selalu dikonfirmasi.
CAccessToken::IsTokenRestricted
Panggil metode ini untuk menguji apakah CAccessToken
objek berisi daftar SID terbatas.
bool IsTokenRestricted() const throw();
Tampilkan Nilai
Mengembalikan TRUE jika objek berisi daftar SID pembatasan, FALSE jika tidak ada SID yang membatasi atau jika metode gagal.
CAccessToken::LoadUserProfile
Panggil metode ini untuk memuat profil pengguna yang terkait dengan CAccessToken
objek.
bool LoadUserProfile() throw(...);
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika CAccessToken
tidak berisi token yang valid, atau jika profil pengguna sudah ada.
CAccessToken::LogonUser
Panggil metode ini untuk membuat sesi masuk untuk pengguna yang terkait dengan kredensial yang diberikan.
bool LogonUser(
LPCTSTR pszUserName,
LPCTSTR pszDomain,
LPCTSTR pszPassword,
DWORD dwLogonType = LOGON32_LOGON_INTERACTIVE,
DWORD dwLogonProvider = LOGON32_PROVIDER_DEFAULT) throw();
Parameter
pszUserName
Penunjuk ke string null-terminated yang menentukan nama pengguna. Ini adalah nama akun pengguna untuk masuk.
pszDomain
Penunjuk ke string yang dihentikan null yang menentukan nama domain atau server yang database akunnya berisi akun pszUserName .
pszPassword
Penunjuk ke string null-terminated yang menentukan kata sandi teks-jelas untuk akun pengguna yang ditentukan oleh pszUserName.
dwLogonType
Menentukan jenis operasi masuk yang akan dilakukan. Lihat LogonUser untuk detail selengkapnya.
dwLogonProvider
Menentukan penyedia log masuk. Lihat LogonUser untuk detail selengkapnya.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Token akses yang dihasilkan dari masuk akan dikaitkan dengan CAccessToken
. Agar metode ini berhasil, CAccessToken
objek harus memegang hak istimewa SE_TCB_NAME, mengidentifikasi pemegang sebagai bagian dari basis komputer tepercaya. Lihat LogonUser untuk informasi selengkapnya mengenai hak istimewa yang diperlukan.
CAccessToken::OpenCOMClientToken
Panggil metode ini dari dalam server COM yang menangani panggilan dari klien untuk menginisialisasi CAccessToken
dengan token akses dari klien COM.
bool OpenCOMClientToken(
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true) throw(...);
Parameter
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
bImpersonate
Jika TRUE, utas saat ini akan meniru klien COM panggilan jika panggilan ini berhasil diselesaikan. Jika FALSE, token akses akan dibuka, tetapi utas tidak akan memiliki token peniruan ketika panggilan ini selesai.
bOpenAsSelf
Menunjukkan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan utas yang memanggil metode GetThreadToken atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dibuat menggunakan konteks keamanan proses untuk utas panggilan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Kelas CAutoRevertImpersonation dapat digunakan untuk secara otomatis mengembalikan token akses yang ditiru yang dibuat dengan mengatur bendera bImpersonate ke TRUE.
CAccessToken::OpenNamedPipeClientToken
Panggil metode ini dari dalam server yang mengambil permintaan melalui pipa bernama untuk menginisialisasi CAccessToken
dengan token akses dari klien.
bool OpenNamedPipeClientToken(
HANDLE hPipe,
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true) throw(...);
Parameter
hPipe
Menangani ke pipa bernama.
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
bImpersonate
Jika TRUE, utas saat ini akan meniru klien pipa panggilan jika panggilan ini berhasil diselesaikan. Jika FALSE, token akses akan dibuka, tetapi utas tidak akan memiliki token peniruan ketika panggilan ini selesai.
bOpenAsSelf
Menunjukkan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan utas yang memanggil metode GetThreadToken atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dibuat menggunakan konteks keamanan proses untuk utas panggilan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Kelas CAutoRevertImpersonation dapat digunakan untuk secara otomatis mengembalikan token akses yang ditiru yang dibuat dengan mengatur bendera bImpersonate ke TRUE.
CAccessToken::OpenRPCClientToken
Panggil metode ini dari dalam server yang menangani panggilan dari klien RPC untuk menginisialisasi CAccessToken
dengan token akses dari klien.
bool OpenRPCClientToken(
RPC_BINDING_HANDLE BindingHandle,
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true) throw(...);
Parameter
BindingHandle
Handel pengikatan pada server yang mewakili pengikatan ke klien.
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
bImpersonate
Jika TRUE, utas saat ini akan meniru klien RPC panggilan jika panggilan ini berhasil diselesaikan. Jika FALSE, token akses akan dibuka, tetapi utas tidak akan memiliki token peniruan ketika panggilan ini selesai.
bOpenAsSelf
Menunjukkan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan utas yang memanggil metode GetThreadToken atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dibuat menggunakan konteks keamanan proses untuk utas panggilan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Kelas CAutoRevertImpersonation dapat digunakan untuk secara otomatis mengembalikan token akses yang ditiru yang dibuat dengan mengatur bendera bImpersonate ke TRUE.
CAccessToken::OpenThreadToken
Panggil metode ini untuk mengatur tingkat peniruan dan kemudian inisialisasi CAccessToken
dengan token dari utas yang diberikan.
bool OpenThreadToken(
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true,
SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation) throw(...);
Parameter
dwDesiredAccess
Menentukan masker akses yang menentukan jenis akses yang diminta ke token akses. Jenis akses yang diminta ini dibandingkan dengan DACL token untuk menentukan akses mana yang diberikan atau ditolak.
bImpersonate
Jika TRUE, utas akan dibiarkan pada tingkat peniruan yang diminta setelah metode ini selesai. Jika FALSE, utas akan kembali ke tingkat peniruan aslinya.
bOpenAsSelf
Menunjukkan apakah pemeriksaan akses akan dilakukan terhadap konteks keamanan utas yang memanggil metode GetThreadToken atau terhadap konteks keamanan proses untuk utas panggilan.
Jika parameter ini FALSE, pemeriksaan akses dilakukan menggunakan konteks keamanan untuk utas panggilan. Jika utas meniru klien, konteks keamanan ini bisa berupa proses klien. Jika parameter ini TRUE, pemeriksaan akses dibuat menggunakan konteks keamanan proses untuk utas panggilan.
sil
Menentukan jenis enumerasi SECURITY_IMPERSONATION_LEVEL yang memasok tingkat peniruan token.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
OpenThreadToken
mirip dengan CAccessToken::GetThreadToken, tetapi mengatur tingkat peniruan sebelum menginisialisasi CAccessToken
dari token akses utas.
Kelas CAutoRevertImpersonation dapat digunakan untuk secara otomatis mengembalikan token akses yang ditiru yang dibuat dengan mengatur bendera bImpersonate ke TRUE.
CAccessToken::P rivilegeCheck
Panggil metode ini untuk menentukan apakah sekumpulan hak istimewa tertentu diaktifkan dalam CAccessToken
objek.
bool PrivilegeCheck(
PPRIVILEGE_SET RequiredPrivileges,
bool* pbResult) const throw();
Parameter
RequiredPrivileges
Penunjuk ke struktur PRIVILEGE_SET .
pbResult
Penunjuk ke nilai yang ditetapkan metode untuk menunjukkan apakah salah satu atau semua hak istimewa yang ditentukan diaktifkan dalam CAccessToken
objek.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Saat PrivilegeCheck
dikembalikan, Attributes
anggota setiap struktur LUID_AND_ATTRIBUTES diatur ke SE_PRIVILEGE_USED_FOR_ACCESS jika hak istimewa yang sesuai diaktifkan. Metode ini memanggil fungsi PrivilegeCheck Win32.
CAccessToken::Kembali
Panggil metode ini untuk menghentikan utas menggunakan token peniruan identitas.
bool Revert(HANDLE hThread = NULL) const throw();
Parameter
hThread
Tangani ke utas untuk kembali dari peniruan identitas. Jika hThread adalah NULL, utas saat ini diasumsikan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Pembalikan token peniruan dapat dilakukan secara otomatis dengan Kelas CAutoRevertImpersonation.
CAccessToken::SetDefaultDacl
Panggil metode ini untuk mengatur DACL CAccessToken
default objek.
bool SetDefaultDacl(const CDacl& rDacl) throw(...);
Parameter
rDacl
Informasi Kelas CDacl default baru.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
DACL default adalah DACL yang digunakan secara default ketika objek baru dibuat dengan token akses ini berlaku.
CAccessToken::SetOwner
Panggil metode ini untuk mengatur pemilik CAccessToken
objek.
bool SetOwner(const CSid& rSid) throw(...);
Parameter
rSid
Objek Kelas CSid yang berisi informasi pemilik.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Pemilik adalah pemilik default yang digunakan untuk objek baru yang dibuat saat token akses ini berlaku.
CAccessToken::SetPrimaryGroup
Panggil metode ini untuk mengatur grup CAccessToken
utama objek.
bool SetPrimaryGroup(const CSid& rSid) throw(...);
Parameter
rSid
Objek Kelas CSid yang berisi informasi grup utama.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Grup utama adalah grup default untuk objek baru yang dibuat saat token akses ini berlaku.