栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何绑定到MVVM中的PasswordBox

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何绑定到MVVM中的PasswordBox

抱歉,您做错了。

人们在眼睑内侧应刻有以下安全准则:
切勿在内存中保留纯文本密码。

WPF / Silverlight PasswordBox不公开用于Password属性的DP的原因与安全性有关。
如果WPF /
Silverlight保留用于密码的DP,则将要求框架将密码本身未加密在内存中。这被认为是相当麻烦的安全攻击媒介。PasswordBox使用(各种)加密的内存,访问密码的唯一方法是通过CLR属性。

我建议在访问PasswordBox.Password CLR属性时,不要将其放在任何变量中或作为任何属性的值。
将密码以纯文本形式保存在客户端计算机RAM上是不可以的。
因此,您可以摆脱那里的“公用字符串密码{get; set;}”。

访问PasswordBox.Password时,只需将其取出并尽快将其发送到服务器即可。不要保留密码的值,也不要像对待其他任何客户端计算机文本一样对待它。不要在内存中保留明文密码。

我知道这会破坏MVVM模式,但是您永远不应绑定到PasswordBox.Password附加的DP,将您的密码存储在ViewModel或任何其他类似的恶作剧中。

如果您正在寻找一种过度架构的解决方案,请执行以下操作:
1.使用一种返回密码明文的方法创建IHavePassword接口。
2.让您的UserControl实现IHavePassword接口。
3.在实现IHavePassword接口时,向您的IoC注册UserControl实例。
4.当服务器要求您输入密码时,请为IHavePassword实现调用IoC,这仅比获得梦co以求的密码要好。

只是我的看法。

-贾斯汀



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号