Unit Test, un pò di confusione Inizierò questo post parlando di quello che non è Unit Test. Questo perchè molto spesso mi trovo a “lottare” con codice che NON è uno Unit Test. Se stiamo scrivendo del codice che scrive dati all’interno di un database, o che legge dati da qualche dispositivo I/O, non siamo in presenza di Unit Test. Gli […]
AspNet Core – Autenticazione basata su Claims Durante l’accesso ad un applicazione ASPNET distinguiamo le due fasi distinte: autenticazione: in questa fase viene verificato se l’utente esiste effettivamente all’interno del sistema, e quindi può accedere. autorizzazione: una volta effettuata l’autenticazione, per poter accedere ad una risorsa all’utente deve essere associata la relativa autorizzazione. All’interno di ASPNET Core 3.0 per abilitare il processi […]
Two Factor Authentication con Microsoft Authenticator Aggiungere un ulteriore componente nel flusso di autenticazione, basato solitamente su username e password, è spesso un requisito fondamentale. Questo tipo di approccio prende il nome di Autenticazione a due fattori (2FA) e solitamente fa uso di un elemento esterno che fornisce un pin, da inserire in fase di autenticazione, dopo l’inserimento della password.
C# 8.0 – Streams Asincroni Nell versioni precedenti di C# era già presente il supporto a iteratori e metodi asincroni. Una delle novità, molto utili, presenti in C# 8.0 è la combinazione dei due, per la creazione di streams asincroni. Questa funzioanalità è possibile, perchè sono state introdotte le versioni asincrone delle interfacce IEnumerable e IEnumerator : public interface IAsyncEnumerable<out […]
C# 8.0 – Static local functions Le Local functions sono state introdotte in C# a partire dalla versione 7. La possibilità di definire funzioni all’interno di altre funzioni, consente di catturarne il contesto e di accedere dal loro interno alle variabili definite all’interno del metodo che le contiene.