как ограничить метод вызова - PullRequest
1 голос
/ 21 сентября 2010

Интересно, есть ли способ ограничить вызов функции?Позвольте мне прояснить.

[Assembly:a1]
Class A
{
    function Af();
}

[Assembly:a2]
Class B
{
     function Bf(){
     //load Assembly a1
     //InvokeMember to Af
     }
}

После компиляции у меня будет 2 сборки.Теперь, если я передам клиенту, любой может скопировать сборку 1 и вызвать Af ().эта функция возвращает файл setting.xml после расшифровки.Я хочу прекратить доступ к моей функции от третьей стороны.Там в любом случае?любая помощь приветствуется.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 22 сентября 2010

В .NET <4.0 вы можете использовать <a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.strongnameidentitypermission.aspx" rel="nofollow noreferrer"> StrongNameIdentityPermission , чтобы ограничить, кому разрешено вызывать ваш метод.Но даже это не остановит того, кто полон решимости завладеть вашими секретными данными.

0 голосов
/ 22 сентября 2010

Вы можете запутать метод, потребовав передать некоторый аргумент для успешного вызова метода. Base64Encode или MD5 текущей даты могут работать (может произойти сбой около 00:00:00 даже при правильном вызове).

Они все еще могут отражать вашу сборку и видеть, как вызывается метод.

ИМХО, ваша забота не нужна, но хороший инструмент запутывания может помочь (я не экспериментировал с этим для .Net, но я слышал, что большинство из них не хороши).

0 голосов
/ 21 сентября 2010

Гнездо класса А в классе В.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...