IAuthorizationExtension.CheckAccess Metode
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.
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi tertentu.
Overload
CheckAccess(String, IntPtr, Byte[], CatalogOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi katalog tertentu. |
CheckAccess(String, IntPtr, Byte[], CatalogOperation[]) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk array operasi katalog tertentu. |
CheckAccess(String, IntPtr, Byte[], DatasourceOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi sumber data tertentu. |
CheckAccess(String, IntPtr, Byte[], FolderOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi folder tertentu. |
CheckAccess(String, IntPtr, Byte[], FolderOperation[]) |
Memeriksa kredensial otorisasi pengguna terhadap deskriptor keamanan untuk operasi pada item di database server laporan |
CheckAccess(String, IntPtr, Byte[], ModelItemOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi item model tertentu. |
CheckAccess(String, IntPtr, Byte[], ModelOperation) |
Menunjukkan nilai apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi model tertentu. |
CheckAccess(String, IntPtr, Byte[], ReportOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi laporan tertentu. |
CheckAccess(String, IntPtr, Byte[], ResourceOperation) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi sumber daya tertentu. |
CheckAccess(String, IntPtr, Byte[], ResourceOperation[]) |
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk array operasi sumber daya tertentu. |
CheckAccess(String, IntPtr, Byte[], CatalogOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi katalog tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::CatalogOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.CatalogOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.CatalogOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As CatalogOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- CatalogOperation
Operasi diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan.
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As CatalogOperation) As Boolean
Dim acl As AceCollection = DeserializeAcl(secDesc)
Dim ace As AceStruct
For Each ace In acl
' First check to see if the user or group has an access control entry for the item
If userName = ace.PrincipalName Then
' If an entry is found, return true if the given required operation
' is contained in the ACE structure.
Dim aclOperation As CatalogOperation
For Each aclOperation In ace.CatalogOperations
If aclOperation = requiredOperation Then
Return True
End If
Next aclOperation
End If
Next ace
Return False
End Function 'CheckAccess
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection
Dim bf As New BinaryFormatter()
Dim sdStream As New MemoryStream(secDesc)
Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)
Return acl
End Function 'DeserializeAcl
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, CatalogOperation requiredOperation)
{
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
// First check to see if the user or group has an access control entry for the item
if (userName == ace.PrincipalName)
{
// If an entry is found, return true if the given required operation
// is contained in the ACE structure.
foreach(CatalogOperation aclOperation in ace.CatalogOperations)
{
if (aclOperation == requiredOperation)
return true;
}
}
}
return false;
}
private AceCollection DeserializeAcl(byte[] secDesc)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream sdStream = new MemoryStream(secDesc);
AceCollection acl = (AceCollection)bf.Deserialize(sdStream);
return acl;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], CatalogOperation[])
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk array operasi katalog tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::CatalogOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.CatalogOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.CatalogOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As CatalogOperation()) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperations
- CatalogOperation[]
Operasi yang diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan. Contohnya menggunakan metode [CheckAccess(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> yang mengambil satu operasi sebagai argumen.
' Overload for array of catalog operations
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As CatalogOperation) As Boolean
Dim operation As CatalogOperation
For Each operation In requiredOperations
If Not CheckAccess(userName, userToken, secDesc, operation) Then
Return False
End If
Next operation
Return True
End Function 'CheckAccess
// Overload for array of catalog operations
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, CatalogOperation[] requiredOperations)
{
foreach(CatalogOperation operation in requiredOperations)
{
if (!CheckAccess(userName, userToken, secDesc, operation))
return false;
}
return true;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], DatasourceOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi sumber data tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::DatasourceOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.DatasourceOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.DatasourceOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As DatasourceOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- DatasourceOperation
Operasi diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan.
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As DatasourceOperation) As Boolean
Dim acl As AceCollection = DeserializeAcl(secDesc)
Dim ace As AceStruct
For Each ace In acl
' First check to see if the user or group has an access control entry for the item
If userName = ace.PrincipalName Then
' If an entry is found, return true if the given required operation
' is contained in the ACE structure.
Dim aclOperation As DatasourceOperation
For Each aclOperation In ace.DatasourceOperations
If aclOperation = requiredOperation Then
Return True
End If
Next aclOperation
End If
Next ace
Return False
End Function 'CheckAccess
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection
Dim bf As New BinaryFormatter()
Dim sdStream As New MemoryStream(secDesc)
Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)
Return acl
End Function 'DeserializeAcl
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, DatasourceOperation requiredOperation)
{
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
// First check to see if the user or group has an access control entry for the item
if (userName == ace.PrincipalName)
{
// If an entry is found, return true if the given required operation
// is contained in the ACE structure.
foreach(DatasourceOperation aclOperation in ace.DatasourceOperations)
{
if (aclOperation == requiredOperation)
return true;
}
}
}
return false;
}
private AceCollection DeserializeAcl(byte[] secDesc)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream sdStream = new MemoryStream(secDesc);
AceCollection acl = (AceCollection)bf.Deserialize(sdStream);
return acl;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], FolderOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi folder tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::FolderOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.FolderOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.FolderOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As FolderOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- FolderOperation
Operasi diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan.
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As FolderOperation) As Boolean
Dim acl As AceCollection = DeserializeAcl(secDesc)
Dim ace As AceStruct
For Each ace In acl
' First check to see if the user or group has an access control entry for the item
If userName = ace.PrincipalName Then
' If an entry is found, return true if the given required operation
' is contained in the ACE structure.
Dim aclOperation As FolderOperation
For Each aclOperation In ace.FolderOperations
If aclOperation = requiredOperation Then
Return True
End If
Next aclOperation
End If
Next ace
Return False
End Function 'CheckAccess
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection
Dim bf As New BinaryFormatter()
Dim sdStream As New MemoryStream(secDesc)
Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)
Return acl
End Function 'DeserializeAcl
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation)
{
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
// First check to see if the user or group has an access control entry for the item
if (userName == ace.PrincipalName)
{
// If an entry is found, return true if the given required operation
// is contained in the ACE structure.
foreach(FolderOperation aclOperation in ace.FolderOperations)
{
if (aclOperation == requiredOperation)
return true;
}
}
}
return false;
}
private AceCollection DeserializeAcl(byte[] secDesc)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream sdStream = new MemoryStream(secDesc);
AceCollection acl = (AceCollection)bf.Deserialize(sdStream);
return acl;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], FolderOperation[])
Memeriksa kredensial otorisasi pengguna terhadap deskriptor keamanan untuk operasi pada item di database server laporan
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::FolderOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.FolderOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.FolderOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As FolderOperation()) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperations
- FolderOperation[]
Operasi yang diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan. Contohnya menggunakan metode [CheckAccess(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> yang mengambil satu operasi sebagai argumen.
' Overload for array of folder operations
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As FolderOperation) As Boolean
Dim operation As FolderOperation
For Each operation In requiredOperations
If Not CheckAccess(userName, userToken, secDesc, operation) Then
Return False
End If
Next operation
Return True
End Function 'CheckAccess
// Overload for array of folder operations
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation[] requiredOperations)
{
foreach(FolderOperation operation in requiredOperations)
{
if (!CheckAccess(userName, userToken, secDesc, operation))
return false;
}
return true;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], ModelItemOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi item model tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ModelItemOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ModelItemOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ModelItemOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ModelItemOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- ModelItemOperation
Operasi yang diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], ModelOperation)
Menunjukkan nilai apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi model tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ModelOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ModelOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ModelOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ModelOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- ModelOperation
Operasi yang diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan; jika tidak, false
.
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], ReportOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi laporan tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ReportOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ReportOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ReportOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ReportOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- ReportOperation
Operasi diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan.
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As ReportOperation) As Boolean
Dim acl As AceCollection = DeserializeAcl(secDesc)
Dim ace As AceStruct
For Each ace In acl
' First check to see if the user or group has an access control entry for the item
If userName = ace.PrincipalName Then
' If an entry is found, return true if the given required operation
' is contained in the ACE structure.
Dim aclOperation As ReportOperation
For Each aclOperation In ace.ReportOperations
If aclOperation = requiredOperation Then
Return True
End If
Next aclOperation
End If
Next ace
Return False
End Function 'CheckAccess
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection
Dim bf As New BinaryFormatter()
Dim sdStream As New MemoryStream(secDesc)
Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)
Return acl
End Function 'DeserializeAcl
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ReportOperation requiredOperation)
{
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
// First check to see if the user or group has an access control entry for the item
if (userName == ace.PrincipalName)
{
// If an entry is found, return true if the given required operation
// is contained in the ACE structure.
foreach(ReportOperation aclOperation in ace.ReportOperations)
{
if (aclOperation == requiredOperation)
return true;
}
}
}
return false;
}
private AceCollection DeserializeAcl(byte[] secDesc)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream sdStream = new MemoryStream(secDesc);
AceCollection acl = (AceCollection)bf.Deserialize(sdStream);
return acl;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], ResourceOperation)
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk operasi sumber daya tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ResourceOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ResourceOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ResourceOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ResourceOperation) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperation
- ResourceOperation
Operasi diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan.
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As ResourceOperation) As Boolean
Dim acl As AceCollection = DeserializeAcl(secDesc)
Dim ace As AceStruct
For Each ace In acl
' First check to see if the user or group has an access control entry for the item
If userName = ace.PrincipalName Then
' If an entry is found, return true if the given required operation
' is contained in the ACE structure.
Dim aclOperation As ResourceOperation
For Each aclOperation In ace.ResourceOperations
If aclOperation = requiredOperation Then
Return True
End If
Next aclOperation
End If
Next ace
Return False
End Function 'CheckAccess
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection
Dim bf As New BinaryFormatter()
Dim sdStream As New MemoryStream(secDesc)
Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)
Return acl
End Function 'DeserializeAcl
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ResourceOperation requiredOperation)
{
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
// First check to see if the user or group has an access control entry for the item
if (userName == ace.PrincipalName)
{
// If an entry is found, return true if the given required operation
// is contained in the ACE structure.
foreach(ResourceOperation aclOperation in ace.ResourceOperations)
{
if (aclOperation == requiredOperation)
return true;
}
}
}
return false;
}
private AceCollection DeserializeAcl(byte[] secDesc)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream sdStream = new MemoryStream(secDesc);
AceCollection acl = (AceCollection)bf.Deserialize(sdStream);
return acl;
}
Berlaku untuk
CheckAccess(String, IntPtr, Byte[], ResourceOperation[])
Menunjukkan apakah pengguna berwenang untuk mengakses item di database server laporan untuk array operasi sumber daya tertentu.
public:
bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::ResourceOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ResourceOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ResourceOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As ResourceOperation()) As Boolean
Parameter
- userName
- String
Nama pengguna yang meminta akses ke server laporan.
- userToken
-
IntPtr
nativeint
Token akun pengguna. Token ini terutama digunakan oleh server laporan sebagai handel ke akun Microsoft Windows untuk mendukung manajemen kredensial untuk Autentikasi Windows.
- secDesc
- Byte[]
Deskriptor keamanan untuk item.
- requiredOperations
- ResourceOperation[]
Operasi yang diminta oleh server laporan untuk pengguna tertentu.
Mengembalikan
Mengembalikan true
jika pengguna yang saat ini diautentikasi diberikan akses ke item berdasarkan pendeskripsi operasi dan keamanan yang disediakan.
Contoh
Contoh kode berikut menggunakan metode [CheckAccess Method (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> untuk mengevaluasi kredensial otorisasi pengguna terhadap deskriptor keamanan untuk item di database server laporan. Contohnya menggunakan metode [CheckAccess(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> yang mengambil satu operasi sebagai argumen.
' Overload for array of resource operations
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As ResourceOperation) As Boolean
Dim operation As ResourceOperation
For Each operation In requiredOperations
If Not CheckAccess(userName, userToken, secDesc, operation) Then
Return False
End If
Next operation
Return True
End Function 'CheckAccess
// Overload for array of resource operations
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ResourceOperation[] requiredOperations)
{
foreach(ResourceOperation operation in requiredOperations)
{
if (!CheckAccess(userName, userToken, secDesc, operation))
return false;
}
return true;
}