QueryInterceptorAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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 |
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) |