Значения свойств чувствительных зависимостей предоставляются инструментом snoop в приложении WPF. Как это предотвратить?

Я использую один пользовательский элемент управления, который имеет свойство пароля. Чтобы установить это свойство пароля, я использую DependencyProperty, созданный в viewmodel. Когда я запускаю приложение и пытаюсь выполнить отладку, используя инструмент Snoop (SnoopWpf), и когда я просматриваю свойства пользовательского элемента управления, он показывает пароль, установленный для этого элемента управления. Я хочу, чтобы инструмент snoop не показывал значение свойства пароля. Есть ли способ, которым мы можем добавить безопасность к свойству зависимости perticular?

Код XAML:

<class:MyControl x:Name="myControl" IsReadOnly="True" 
CtlPassword="{Binding myPassword, Mode=OneWay}" 
</class:MyControl> 


private static DependencyProperty PasswordProperty = DependencyProperty.Register("myPassword", typeof(String), typeof(myControl), new PropertyMetadata(null));

public String myPassword
{
     get { return (String)GetValue(PasswordProperty); }
     set { SetValue(PasswordProperty, value); }
}

Я посмотрел на эту ссылку для одного из решений - решения, защищенного от Snoop. Можем ли мы добавить какую-либо защиту этому свойству myPassword? Который будет скрывать это свойство от любого инструмента отладки

1 ответ

Не храните пароли в string свойства. Это большое нет-нет, если вы заботитесь о безопасности. По крайней мере, использовать SecureString - или не храните их вообще.

Существует пример того, как использовать поведение для привязки к SecurePassword Недвижимость доступна здесь:

Привязать SecurePassword к ViewModel

Другие вопросы по тегам