저는 현재 회사에서 10 년 넘게 사용 된 소프트웨어를 관리하고 리팩토링하고 있습니다. 이 응용 프로그램의 요소 중 하나는 일종의 관리자 또는 고급 사용자 모드로, 일부 추가 / 내부 입력과 입력 제한을 해제하는 기능을 제공합니다.
역사적으로이 모드는 Windows 시스템 디렉토리의 특정 위치 (응용 프로그램으로 하드 코딩 된 파일)에 특정 이름의 파일을 배치하여 설정되었습니다. 파일은 비어 있지만 'something.DLL'이라는 dll이 아닌 ASCII 파일.
그래서 최근에 사용자가 관리자 암호를 입력하여이 기능을 켤 수 있도록 몇 가지 코드와 작은 모달 형식을 추가했습니다. 사용자 비밀번호가 아닌 설정된 비밀번호입니다. 올바른 암호를 입력하면 응용 프로그램 루트 디렉토리에 '키 파일'을 만들어 해당 파일이있는 경우 프로그램이 관리 모드에서 시작할 수 있도록 동일한 암호를 입력합니다.
이제이 소프트웨어를 주로 담당하는 부서 관리자는 그 아이디어를 좋아하지 않습니다. 그는 우리가 간단하고 사전 설정된 비밀번호를 가지고 있다면 쉽게 '나갈'수 있으며 경험이없는 사용자가 그러한 추가 기능에 액세스하는 것을 원하지 않는다고 생각합니다.
그래서 제 질문은 좀 더 안전한 이런 종류의 액세스를 제공하기위한 다른 방법은 무엇입니까? 이 소프트웨어를 유지 보수하고 관리하는 데있어 거의 나에 불과하기 때문에 거의 완전히 내장되거나 자동화되지 않은 것은 도움이되지 않을 것입니다 (예 : '라이센스 키'또는 이와 유사한 것).
참고 :이 응용 프로그램은 VB.NET (.NET 4.0)으로 작성되었으며 현재 새 버전이 완료되면 클릭 원스 배포를 사용할 계획입니다.