Liez PasswordBox en toute sécurité en mode MVVM
Dans l'architecture MVVM, la restriction de la liaison directe de PasswordBox peut entraîner des problèmes de sécurité. Il est donc crucial de maintenir une approche sécurisée tout en suivant les principes MVVM.
Méthode de mise en œuvre
Au lieu de recourir à des solutions complexes pouvant compromettre la sécurité, envisagez une technologie à la fois sécurisée et adhérant aux principes MVVM :
ViewModel :
Définissez un attribut en écriture seule pour stocker le mot de passe chiffré :
<code class="language-csharp"> public SecureString SecurePassword { private get; set; }</code>
Xaml :
Ajouter un gestionnaire d'événements PasswordChanged pour PasswordBox :
<code class="language-xml"> <PasswordBox PasswordChanged="PasswordBox_PasswordChanged"></PasswordBox></code>
Code-behind :
En code-behind, gérer l'événement PasswordChanged :
<code class="language-csharp"> private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e) { if (this.DataContext != null) { ((dynamic)this.DataContext).SecurePassword = ((PasswordBox)sender).SecurePassword; } }</code>
Ce code met à jour la propriété SecurePassword du ViewModel avec la valeur SecureString dans la PasswordBox, assurant ainsi la sécurité.
Avantages
Conclusion
PasswordBox peut être lié en toute sécurité dans MVVM en mettant à jour manuellement les propriétés du ViewModel à l'aide des gestionnaires d'événements du code-behind. Cette approche protège la confidentialité des mots de passe tout en adhérant au modèle de conception MVVM.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!