Pergunta

Eu quero saber se isso é inerentemente possível:

Pense em um cenário de nuvem. Permitir que os usuários enviem seu código .NET no meu servidor. No entanto, para gerenciar as coisas no meu servidor, não posso permitir que os usuários escrevam código que faça chamadas diretas para métodos como httpwebrequest.create ().

Se o usuário escreveu esse código, isso significaria que ele está tentando entrar em contato com outro serviço da web (por exemplo). Meu objetivo é ter esses serviços servidos por outro servidor, mas ainda assim ter o servidor principal funcionar em outras solicitações recebidas.

Eu quero bloquear chamadas para httpwebrequest.create (). Em vez disso, fornecerei alguma interface para o usuário fazer essas chamadas. Em que tipo de solução posso pensar para esse problema?

PS: Eu sou mais do .NET 2.0 Orientado. Por favor, seja específico se você responder a acordos com uma versão superior

Foi útil?

Solução

Dê uma olhada na segurança do código de acesso (http://msdn.microsoft.com/en-us/library/930b76w0(vs.71).aspx ou http://www.codeproject.com/kb/security/ub_cas_net.aspx)

Você pode criar um novo AppDomain restrito, onde seu código de clientes é executado.

EDITAR: Se você deseja fornecer um tipo de API que implementa métodos que precisam de httpwebrequest, sugiro criar um serviço (que tenha todos os direitos) e sua API chama esse serviço. Nesse serviço, você pode implementar quaisquer restrições desejadas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top