QueryInterceptorAttribute Osztály

Definíció

Az QueryInterceptorAttribute on a metódus a megadott entitáskészlet lekérdezés-elfogójaként jegyzeteli.

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
Öröklődés
QueryInterceptorAttribute
Attribútumok

Példák

Az alábbi példa az Customers entitáskészlethez való hozzáférést szabályozza. Mindegyik Customer csak az adotthoz Orderstársított elemet látjaCustomer.

[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  
              );  
}  

Megjegyzések

Az entitáskészlet-szintű engedélyezés és -ellenőrzés a QueryInterceptorAttribute. A WCF-adatszolgáltatások nem implementálnak biztonsági szabályzatokat, hanem a szolgáltatásfejlesztők számára szükséges infrastruktúrát biztosítják saját biztonsági szabályaik és üzleti ellenőrzésük megírásához.

Az entitáskészlet hozzáférés-vezérlése és érvényesítése lekérdezési műveleteken keresztül engedélyezve van a lekérdezésösszeállítás használatával. Az entitásalapú hozzáférés szabályozásához implementáljon egy entitásonkénti metódust az alábbi szabályok szerint:

A metódusnak nyilvános hatókörrel kell rendelkeznie, és megjegyzést kell fűznie a QueryInterceptorAttributeparaméterként beállított entitás nevéhez.

A metódusnak nem szabad paramétereket elfogadnia.

A metódusnak olyan típusú Expression<Func<T, bool>> kifejezést kell visszaadnia, amely az entitáskészlethez összeállítandó szűrő.

Konstruktorok

Name Description
QueryInterceptorAttribute(String)

Inicializálja a QueryInterceptorAttribute paraméter által megadott entitás osztályának új példányát entitySetName .

Tulajdonságok

Name Description
EntitySetName

Lekéri annak az entitáskészletnek a nevét, amely annak az entitásnak a nevét tartalmazza, amelyre az elfogó vonatkozik.

TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)

Metódusok

Name Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes: