В настоящее время я управляю программным обеспечением, которое используется в моей компании уже более десяти лет, и перефакторинг. Одним из элементов этого приложения является своего рода режим администратора или опытного пользователя, который обеспечивает такие вещи, как некоторый дополнительный / внутренний ввод, а также возможность отключать ограничения ввода.
Исторически этот режим был включен путем помещения файла с определенным именем в определенное место в системном каталоге Windows (оба из которых были жестко запрограммированы в приложении), файл с именем'thing.DLL ', даже если он был пустым ASCII файл, а не DLL.
Поэтому недавно я добавил некоторый код и небольшую модальную форму, которая позволяет пользователю вводить пароль администратора, чтобы включить эту функцию. Это установленный пароль, а не пользовательский. Когда введен правильный пароль, он делает то же самое, создавая «ключевой файл» в корневом каталоге приложений, чтобы программа могла запускаться в режиме администратора, если этот файл присутствует.
Теперь руководителю отдела, для которого это программное обеспечение в основном, не очень нравится эта идея. Он думает, что если у нас будет простой, заранее заданный пароль, он легко «выйдет», и он не хочет, чтобы неопытные пользователи имели доступ к этим дополнительным функциям.
Итак, мой вопрос: какие существуют другие методы для предоставления такого доступа, который был бы несколько более безопасным? Когда дело доходит до обслуживания и управления этим программным обеспечением, это в значительной степени касается меня, поэтому ничего, что почти полностью не встроено или автоматизировано, не поможет (например, отправка запросов на «лицензионные ключи» или что-то подобное).
Примечания. Это приложение написано на VB.NET (.NET 4.0), и в настоящее время я планирую использовать развертывание одним щелчком мыши, когда новая версия будет готова.