Как ограничить сборку .Net для работы на определенных машинах - PullRequest
0 голосов
/ 16 мая 2009

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

Однако разработчикам должно быть легко запустить его на своих коробках.

Каковы различные способы применения этой политики?

Ответы [ 3 ]

2 голосов
/ 16 мая 2009

Полагаю, вы ищете простой отказоустойчивый, а не герметичный контроль доступа ...

Введите имя машины в файл конфигурации и сравните его с именем машины при запуске приложения. Таким образом, вы не сможете запустить его где-либо еще по ошибке, и его достаточно легко изменить при разработке или перемещении приложения.

2 голосов
/ 16 мая 2009

Одна идея: можно использовать раздел реестра, который должен присутствовать для запуска.

Другое: для запуска

может потребоваться установить сертификат X509 в хранилище ключей.

Другое: используйте System.Security.Permissions и ограничивайте работу набором пользователей или группы.

и т.д.

2 голосов
/ 16 мая 2009

Существует несколько способов управления доступом к сборкам.

Мы защищаем наши сборки на основе лицензии, поэтому только рабочие станции с лицензией могут запускать сборку.

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

Для наших отладочных сборок мы добавляем лицензию в код отладки, заключенный в "#IF DEBUG", чтобы убедиться, что она не скомпилирована в сборку выпуска.

Я не говорю, что это лучший способ, но этот метод мы используем.

...