Bagikan melalui


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

CreateImpersonationTokenmemanggil 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

CreatePrimaryTokenmemanggil 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

CreateProcessAsUserCreateProcessAsUser 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

CreateRestrictedTokenmenggunakan 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 CAccessTokenkepemilikan 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.

Lihat juga

Sampel KEAMANAN ATL
Token Akses
Gambaran Umum Kelas