Понадобилось сделать быстро блокировку от распространения конфигурации-поставки по "рукам" клиентов. Конфигурация не является конечным продуктом, а только пример работы.
Данные паролей генерируются ввиде ХЭШ-кода и сохраняются в справочник "ПраваДоступаПоЛицензии". Пароль ХЭШ-код формируется из наименования организации и имени компьютера пользователя.
Как настроить и работать с этим?
1. Перекинуть все объекты метаданных из конфигурации ЗащитаКонфигурации в вашу (кроме Организации, ГенераторЛицензий, ДокументПример)
2. В модуле обычного приложения в процедуре ПриНачалеРаботыСистемы() необходимо добавить:
//*Лицензионная политика
//Проверка на доступ
Если НЕ ЛицензионнаяПолитика.ПроверитьРазрешениеНаДоступКПрограммеТекущегоПользователя() тогда ЛицензионнаяПолитика.ВвестиКодДоступа(); ЛицензионнаяПолитика.ЗафиксироватьКодДоступа(); КонецЕсли;
//*
3. В модуль "важного" объекта метаданных в процедуре ПриЗаписи() добавить:
//*Лицензионная политика
ЛицензионнаяПолитика.ПроверитьДоступИВыйтиСПредупреждением();
//*
4. В модуле ЛицензионнаяПолитика: добавить постоянный пароль для поставки в функции ПолучитьИдентификационныйПарольПрограммы() и ПолучитьИдентификационныйПарольАдминский(). Это на всякий случай, если требуется отключить быстро всю защиту и войти в программу.
5. При формировании поставки не включать в поставку исходный текст модулей везде где есть *Лицензионная политика
6. Для генерации паролей-лицензий пользователей используется обработка ГенераторЛицензий. В ней необходимо указать пароль программы (см. п. 4), наименование организации, наименование компьютера.
Вот впринципе и все! Никаких внешних компонент и ноль потраченных средств. Подсистему защиты легко перенести на управляемое приложение (при необходимости).
Тот кто захочет взломать не сможет полноценно воспользоваться и скопировать вашу конфигурацию, т.к. особо важные модули не имеют исходных модулей, а в них скрыта функция проверки на лицензию.
Рекомендую применять обфускатор к указанным модулям и защита будет 100% надежной.