Ограничение доступа к DLL в .NET - PullRequest
4 голосов
/ 12 февраля 2010

Я пишу собственное программное обеспечение для компании.

Я всегда хочу использовать методы ООП как можно лучше. В связи с этим я хочу создать уровень доступа к данным (DAL), изолированный в своем собственном .DLL.

Что я могу сделать, чтобы ограничить доступ DAL DLL только к моему уровню бизнес-логики DLL?

Последнее, что мне нужно, - это кто-то в компании с небольшим знанием программирования и доступом к системе (через Active Directory) для установки .NET Express, ссылки на мой .DLL и запуска кода доступа к данным вне реальная система. Существуют ли какие-либо механизмы .NET, которые я могу использовать, чтобы ограничить DLL для использования только предварительно выбранным хост-приложением / DLL?

Ответы [ 2 ]

7 голосов
/ 12 февраля 2010

Самый простой способ ограничить доступ с точки зрения кода - использовать дружественные сборки. Вы можете сделать все типы в вашей DLL уровня доступа к данным дружественными / внутренними. Затем добавляйте только компоненты Business Logic Layer в друзья, и они смогут использовать типы. У кого-то еще в компании не будет, так как у них нет DLL с внутренним доступом.

Документация - http://msdn.microsoft.com/en-us/library/bb384772.aspx

1 голос
/ 12 февраля 2010

Вероятно, вы можете использовать встроенную платформу Application Licensing в .NET, используя класс LicenseProvider. В зависимости от того, как вы это реализовали, наличия библиотеки DLL будет недостаточно, чтобы использовать вашу библиотеку ... им также понадобится какой-нибудь файл лицензии или предоставить лицензионный ключ. Вот хорошая статья о том, как начать его использовать .

...