Attualmente sto gestendo e ri-factoring un pezzo di software che è stato utilizzato nella mia azienda per oltre un decennio. Uno degli elementi di questa applicazione è una sorta di modalità admin o power-user che fornisce cose come alcuni input addizionali / interni oltre alla possibilità di disattivare i limiti di input.
Storicamente questa modalità è stata attivata posizionando un file con un nome specifico in una posizione specifica nella directory di sistema di Windows (entrambi codificati nell'applicazione), il file viene chiamato 'something.DLL', anche se era un file ASCII vuoto e non una dll.
Quindi di recente ho aggiunto del codice e un piccolo modulo modale che consente all'utente di inserire una password amministratore per attivare questa funzionalità. È una password impostata, non specifica dell'utente. Quando viene immessa la password corretta, fa lo stesso con la creazione di un "file chiave" nella directory principale delle applicazioni in modo che il programma possa essere avviato in modalità amministratore se tale file è presente.
Ora il manager del dipartimento per cui questo software è per lo più non gradisce così tanto l'idea. Pensa che se abbiamo una semplice password preimpostata che sarà facilmente "fuori", e non vuole che gli utenti inesperti accedano a quelle funzioni extra.
Quindi la mia domanda è: quali altri metodi ci sono per fornire questo tipo di accesso che sarebbe un po 'più sicuro? È praticamente solo per me quando si tratta di mantenere e gestire questo software, quindi tutto ciò che non è completamente integrato o automatizzato non sarebbe di aiuto (come l'invio di richieste di "chiavi di licenza" o qualcosa del genere).
Note: questa applicazione è scritta in VB.NET (.NET 4.0) e attualmente sto pianificando di utilizzare la distribuzione click-once quando la nuova versione è terminata.