2009-10-19 1 views
1

Я хочу защитить свою сборку (dll), привязывая ее к определенной среде. Скажем, у меня есть dll (BizLogic.dll), я хочу сделать его доступным для моих со-разработчиков, чтобы использовать его в организации. Но я не хочу, чтобы другие использовали его за пределами моей организации.Защита .net Ассембли

Есть ли способ решить эту проблему?

Спасибо заранее.

- Mohammed.

+0

[Я нашел аналогичный вопрос с ответами] (http://stackoverflow.com/questions/1416190/restrict-access-to-net-assembly). – Shimmy

ответ

2

Что вы подразумеваете под своей организацией?

Тем не менее, вы считали, что подписываете свое собрание?

+0

Спасибо за быстрые ответы. Ну, вне моей организации Я имею в виду, что у меня есть сборка (bizLogic.dll) и веб-приложение, разрабатываемое моими со-разработчиками. Веб-приложение будет рассмотрено третьей стороной вне организации. Я не хочу, чтобы они модифицировали базу кода (web). Если это так, мой bizLogic.dll (который будет черным ящиком для них) будет разумно обнаруживать и исключать исключение, так как он мог бы найти изменение в среде разработки. Thanks, Mohammed. – humblecoder

+1

@Mohammed Я думаю, теперь ваш Q яснее .... по просмотру вы имеете в виду, что они просматривают функциональность вашего веб-приложения. Просто дайте вашей сборке сильное имя, Obfuscate ваш код и развертывание в режиме выпуска. –

+0

@ Xencor - Спасибо за быстрый совет. – humblecoder

1

Очень мало, что будет фактически эффективным. Вы можете попробовать различные рамки лицензий/ключей, которые есть там, но есть ровно ноль, которые на 100% не поддаются проверке.

0

Создайте пользователя домена, дайте этому пользователю только права на чтение объекта db. Установка пароля никогда не заканчивается. Физически защитите пароль.

dll должен иметь возможность доступа (для вашего нового пользователя) объекта db для продолжения.

Обфускайте свой код.

5

Что вы описываете, это не проблема, которую CAS разработал для решения. Система безопасности .NET Code Access Security была разработана для защиты доброжелательных пользователей от вражеский код третьей стороны. Вы пытаетесь сделать обратное - защитите доброжелательный код от враждебных пользователей. Если вы дадите кому-то кусок кода, они могут делать все, что захотят, с этим кодом - разобрать его, переписать, перекомпилировать, что угодно, и вы не можете сделать технически, чтобы остановить их.

Возможно, лучше всего использовать другие механизмы правоприменения, например, заставить их подписать контракт, в котором говорится, что они не будут перепроектировать или перераспределить ваш код, а затем подать в суд на них, если они это сделают. Или просто не дайте им код в первую очередь. Сделайте веб-сервис и сохраните код на своем сервере, вдали от людей, которым вы не доверяете.

 Смежные вопросы

  • Нет связанных вопросов^_^