QueryIrgeperceptor en todas las entidades
-
21-12-2019 - |
Pregunta
es posible hacer una personalizada QueryIrkInteptor en un WCF Data¿Servicio en todos los entidades en lugar de solo uno?Este es un consultorio estándar:
[QueryInterceptor("Products")]
public Expression<Func<Product, bool>> OnQueryProducts()
{
var user = HttpContext.Current.User;
if (user.IsInRole("Administrator"))
return (Product p) => true;
else
return (Product p) => false;
}
me gusta hacer algo como esto:
[QueryInterceptor("*")]
public Expression<Func<Object, bool>> OnQueryProducts()
{
var user = HttpContext.Current.User;
if (user.IsInRole("Administrator"))
return (Object p) => true;
else
return (Object p) => false;
}
¿Hay alguna forma o tengo que integrar un INCEPTOR para todas mis entidades?
Solución
Lamentablemente, no puede usar una tarjeta Wild con el consultivo, sin embargo, puede lograr el mismo resultado que en su ejemplo reforzó el método ONSTARTPROCESSINGRIBSESTE del servicio de datos y revise la función del usuario.
protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
var user = HttpContext.Current.User;
// Only Administrator users are allowed access
if (!user.IsInRole("Administrator"))
{
// Any other role throws a security exception
throw new SecurityException("You do not have permission to access this Service");
}
base.OnStartProcessingRequest(args);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow