QueryInterceptorAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
QueryInterceptorAttribute bir yöntemde, belirtilen varlık kümesinde sorgu kesme noktası olarak ek açıklama ekler.
public ref class QueryInterceptorAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)]
public sealed class QueryInterceptorAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)>]
type QueryInterceptorAttribute = class
inherit Attribute
Public NotInheritable Class QueryInterceptorAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, varlık kümesine Customers
erişimi denetler. Her Customer
bir yalnızca bu ile ilişkili öğesini Customer
görebilirOrders
.
[QueryInterceptor("Orders")]
public Expression<Func<Order, bool>> FilterOrders()
{
return o => o.Customer.Name == /* Current principal name. */;
}
// Insures that the user accessing the customer(s) has the appropriate
// rights as defined in the QueryRules object to access the customer
// resource(s).
[QueryInterceptor ("Customers")]
public Expression<Func<Customer, bool>> FilterCustomers()
{
return c => c.Name == /* Current principal name. */ &&
this.CurrentDataSource.QueryRules.Contains(
rule => rule.Name == c.Name &&
rule.CustomerAllowedToQuery == true
);
}
Açıklamalar
Varlık kümesi düzeyinde yetkilendirme ve doğrulama, ile ek açıklama eklenmiş yöntemlerle QueryInterceptorAttributeuygulanır. WCF Veri Hizmetleri güvenlik ilkeleri uygulamaz, bunun yerine hizmet geliştiricilerinin kendi güvenlik kurallarını ve iş doğrulamasını yazması için gereken altyapıyı sağlar.
Varlık kümesi erişim denetimi ve doğrulaması, sorgu oluşturma kullanılarak sorgu işlemleri aracılığıyla etkinleştirilir. Varlık tabanlı erişimi denetlemek için aşağıdaki kurallara göre varlık başına yöntem kümesi uygulayın:
yöntemi genel kapsama sahip olmalı ve parametre olarak ayarlanmış bir varlığın QueryInterceptorAttributeadını alarak ile ek açıklama eklenmelidir.
yöntemi parametre kabul etmemelidir.
yöntemi, varlık kümesi için oluşturulacak filtre olan türde Expression<Func<T, bool>>
bir ifade döndürmelidir.
Oluşturucular
QueryInterceptorAttribute(String) |
parametresi tarafından belirtilen varlık kümesi için sınıfının yeni bir örneğini QueryInterceptorAttribute |
Özellikler
EntitySetName |
Kesme noktasının uygulandığı varlığı içeren varlık kümesinin adını alır. |
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |