Lorsque deux classes entrent en interaction, un couplage se crée. Il existe cependant une technique permettant de limiter l’impact de ce couplage sur la maintenabilité du code. Il s’agit de l’injection de dépendance.
L’injection de dépendance permet d’établir de façon dynamique une relation entre les classes. Elle permet ainsi de découpler les éléments les uns des autres et de ne plus décrire explicitement leurs relations dans le code. De ce fait, elle facilite la modification ultérieure du code et l’ajout de nouvelles fonctionnalités.
MVC Framework prend déjà en charge l'injection de dépendance, mais il a été très difficile d'utiliser cette technique dans l'application ASP.NET Web Forms. Cette nouvelle fonctionnalité facilitera l'utilisation de l'injection de dépendance dans l'application ASP.NET Web Forms. Cette fonctionnalité permet les éléments suivants :
- prise en charge de l'injection basée sur le setter, l'interface et le constructeur dans le projet d'application Web dans Handler, Module, Page, Contrôle utilisateur et Contrôle personnalisé ;
- prise en charge de l'injection à base de setters et d'interfaces dans le projet de site Web dans Handler, Module, Page, Contrôles utilisateur et Contrôles personnalisés ;
- être capable de brancher différents cadres d'injection de dépendance.
ASP.NET - Cookie SameSite
SameSite permet de mitiger les risques liés aux attaques de type CSRF (Cross-Site Request Forgery) et XSSI (Cross-Site Script Inclusion). Le principe de base de SameSite est similaire à celui des flags HttpOnly et Secure : il permet de contrôler le comportement des cookies, en définissant quand ces derniers peuvent être envoyés et quand ils ne le doivent pas. Same-Site propose deux politiques différentes, qui seront définies par les valeurs suivantes (sensibles à la casse) : Strict (par défaut) et Lax.
En mode Strict, le cookie concerné par cette instruction ne sera envoyé que si la requête provient du même site web. En mode Lax, une exception est ajoutée pour l’envoi du cookie dans le cas où la requête ne provient pas du site d’origine
Il est supporté :
- par l'objet HttpCookie ;
- par les cookies FormsAuthentication et SessionState.
Vous pouvez définir SameSite pour un objet HttpCookie comme suit.
Code : | Sélectionner tout |
1 2 | var c = new HttpCookie("secureCookie", "same origin"); c.SameSite = SameSiteMode.Lax; |
Code XML : | Sélectionner tout |
1 2 3 | <system.web> <httpCookies sameSite="Strict"/> </system.web> |
Code XML : | Sélectionner tout |
1 2 3 4 5 6 7 8 | <system.web> <authentication mode="Forms"> <forms cookieSameSite="Lax"> <!-- .... --> </forms> </authentication> <sessionState cookieSameSite="Lax"></sessionState> </system.web> |
SQL - Prise en charge d’Azure AD Universal et de l'authentification multifacteur
Microsoft explique avoir étendu SqlClient Connection String en introduisant un nouveau mot clé d'authentification Azure AD Interactive pour prendre en charge l’authentification multifacteur. Cela permet également la prise en charge de l'authentification Azure AD.
Cette fonctionnalité introduit une nouvelle valeur pour le mot clé "Authentication" existant, en spécifiant une nouvelle méthode d'authentification appelée "Active Directory Interactive". La nouvelle méthode interactive prend en charge les utilisateurs Azure AD natifs et fédérés, ainsi que les utilisateurs invités Azure AD. Lorsque cette méthode est utilisée, l'authentification multifacteur imposée par Azure AD est prise en charge pour SQL DB. En outre, un mot de passe utilisateur est demandé dans le cadre d'une boîte de dialogue interactive.
Cette fonctionnalité peut être configurée avec des outils tels que SQL Server Data Tools (SSDT), comme illustré ci-dessous. Dans la dernière version de Visual Studio, une nouvelle option d'authentification appelée "Authentification interactive Active Directory" peut être utilisée pour prendre en charge l'authentification multifacteur dans la base de données SQL.
Prise en charge de la décompression ZLib vers DeflateStream
Cette fonctionnalité améliore le débit de décompression des archives ZIP en utilisant l'implémentation native de ZIP. Cela permet d'augmenter jusqu'à trois fois le débit des archives ZIP pendant la décompression. Il existe des différences mineures entre l'implémentation existante et l'implémentation native. Par conséquent, cette fonctionnalité est activée par défaut uniquement pour les applications ciblant .NET Framework 4.7.2.
Source : Microsoft