как вы подавляете прямой вызов управляемого метода? - PullRequest
0 голосов
/ 18 января 2010

Я хочу знать, возможно ли это по своей природе:

Подумайте об облачном сценарии. Я разрешаю пользователям загружать свой код .net на мой сервер. Однако, чтобы управлять вещами на моем сервере, я не могу позволить пользователям писать код, который делает прямые вызовы таких методов, как HttpWebRequest.Create ().

Если пользователь написал такой код, это будет означать, что он / она пытается связаться с другим веб-сервисом (например,). Моя цель состоит в том, чтобы эти службы обслуживались через другой сервер, но основной сервер все еще работал с другими входящими запросами.

Я хочу заблокировать вызовы HttpWebRequest.Create (). Вместо этого я предоставлю некоторый интерфейс для пользователя, чтобы делать такие звонки. Какое решение я могу найти для этой проблемы?

PS: я больше ориентирован на .net 2.0. Пожалуйста, будьте конкретны, если вы отвечаете на предложения с более высокой версией

1 Ответ

1 голос
/ 18 января 2010

Посмотрите на Code Access Security (http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx или http://www.codeproject.com/KB/security/UB_CAS_NET.aspx)

. Вы можете создать новый ограниченный домен приложений, в котором выполняется код ваших клиентов.

РЕДАКТИРОВАТЬ: Если вы хотите предоставить своего рода API, который реализует методы, которые требуют HttpWebRequest, то я бы предложил создать службу (которая имеет все права), и ваш API вызывает эту службу. В этой службе вы можете реализовать любые ограничения, которые выхотят.

...