Sicurezza, autenticazione e autorizzazione in Web Forms ASP.NET
È consigliabile usare l'opzione di autenticazione sicura più sicura. Per le app .NET distribuite in Azure, vedere:
Azure Key Vault e .NET Aspire offrono il modo più sicuro per archiviare e recuperare i segreti. Azure Key Vault è un servizio cloud che protegge le chiavi di crittografia e i segreti, come certificati, stringhe di connessione e password. Per .NET Aspire, vedere Proteggere la comunicazione tra l'hosting e le integrazioni client.
Evitare la concessione delle credenziali della password del proprietario della risorsa perché:
- Espone la password dell'utente al client.
- È un rischio significativo per la sicurezza.
- Deve essere usato solo quando altri flussi di autenticazione non sono possibili.
Quando l'app viene distribuita in un server di test, è possibile usare una variabile di ambiente per impostare il stringa di connessione su un server di database di test. Le variabili di ambiente vengono in genere archiviate in testo normale e non crittografato. Se il computer o il processo è compromesso, è possibile accedere alle variabili di ambiente da parti non attendibili. È consigliabile usare le variabili di ambiente per archiviare un stringa di connessione di produzione perché non è l'approccio più sicuro.
Linee guida per i dati di configurazione:
- Non archiviare mai la password o altri dati sensibili nel codice del provider di configurazione o in file di configurazione di testo normale.
- Non usare i segreti di produzione in ambienti di sviluppo o di test.
- Specificare i segreti all'esterno del progetto in modo che non possano essere inavvertitamente inviati a un repository del codice sorgente.
Come consentire agli utenti di accedere al sito (e facoltativamente essere assegnati ai ruoli) usando un modulo di accesso o autenticazione di Windows.