¿cómo se suprime una llamada directa a un método administrado?
-
21-09-2019 - |
Pregunta
Quiero saber si esto es inherentemente posible:
Piense en un escenario nube. Me permiten a los usuarios cargar su código .NET en mi servidor. Sin embargo, para manejar las cosas en mi servidor no puedo permitir a los usuarios escribir código que hacer llamadas directas a métodos como HttpWebRequest.Create ().
Si el usuario ha escrito un código de este tipo significaría que él / ella está tratando de contactar a otro servicio web (por ejemplo). Mi objetivo es tener estos servicios se sirven a través de otro servidor, pero todavía tienen la principal trabajo del servidor en otras solicitudes entrantes.
Quiero bloquear llamadas a HttpWebRequest.Create (). En su lugar voy a dar alguna de las interfaces para el usuario hacer llamadas de ese tipo. ¿Qué tipo de solución puedo imaginar para este problema?
PS: Estoy más de .net 2.0 orientado. Por favor sea específico si contesta trata de una versión superior
Solución
Tenga una mirada en Código de Acceso de Seguridad ( http: //msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx o http://www.codeproject.com/KB/security/UB_CAS_NET.aspx )
Se puede crear un nuevo dominio de aplicación restringida donde se ejecuta el código de los clientes.
EDIT: Si desea proporcionar un tipo de API que implementa los métodos que necesitan HttpWebRequest entonces sugeriría para crear un servicio (que tiene todos los derechos) y su API de llamadas de ese Servicio. En ese servicio se podría aplicar cualquier restricción que desee.