Obecnie zarządzam i ponownie przeprowadzam faktoring oprogramowania używanego w mojej firmie od ponad dekady. Jednym z elementów tej aplikacji jest rodzaj trybu administratora lub zaawansowanego użytkownika, który zapewnia pewne dodatkowe / wewnętrzne dane wejściowe, a także możliwość wyłączenia limitów wejściowych.
Historycznie ten tryb był włączony poprzez umieszczenie pliku o konkretnej nazwie w określonym miejscu w katalogu systemu Windows (oba zostały zakodowane na stałe w aplikacji), przy czym plik ten miał nazwę „coś.DLL”, mimo że był pusty Plik ASCII, a nie dll.
Więc niedawno dodałem trochę kodu i trochę modalnej formy, która pozwala użytkownikowi wprowadzić hasło administratora, aby włączyć tę funkcję. Jest to ustawione hasło, a nie specyficzne dla użytkownika. Po wprowadzeniu prawidłowego hasła robi to samo, tworząc „plik klucza” w katalogu głównym aplikacji, aby program mógł uruchomić się w trybie administratora, jeśli ten plik jest obecny.
Teraz kierownik działu, dla którego oprogramowanie to jest najbardziej, tak bardzo nie lubi tego pomysłu. Uważa, że jeśli mamy proste, ustawione hasło, które łatwo „wydostanie się” i nie chce, aby niedoświadczeni użytkownicy mieli dostęp do tych dodatkowych funkcji.
Moje pytanie brzmi: jakie są inne metody zapewnienia tego rodzaju dostępu, który byłby nieco bardziej bezpieczny? Prawie tylko ja, jeśli chodzi o utrzymanie i zarządzanie tym oprogramowaniem, więc nic, co nie jest prawie całkowicie wbudowane lub zautomatyzowane, nie pomogłoby (takie jak wysyłanie próśb o „klucze licencyjne” lub coś podobnego).
Uwagi: Ta aplikacja jest napisana w VB.NET (.NET 4.0), a obecnie planuję użyć wdrożenia po kliknięciu, gdy nowa wersja zostanie wykonana.