我正在使用NET Framework 4.0客户端配置文件,带有MEF和MVVM模型的PRISM和MySQL数据库在WPF中编写一个应用程序。
我有一个Shell应用程序,其中包含重要的安全性数据,例如数据库登录名,密码等。我不想公开该安全性数据,但是其他模块必须访问数据库。
有没有一种方法可以在Shell和模块之间共享这种数据。一种安全的方法?我应该如何组织数据访问?
对我来说最好的选择是:
SHELL-具有所有安全数据及其加密信息,并且不会以任何方式公开。
模块-尽可能独立,但也可以通过与SHELL进行某种通信来访问数据库
我想出了几种解决方案:
共享上下文-需要时将连接字符串传递给模块。(但我认为这是安全数据泄漏的危险方式)
向PRISM注册服务,该服务将公开必需的数据库操作(但是模块将不会独立,并且所有模块的所有数据访问都将在Shell中)
向PRISM注册通用服务,该服务将接受自定义数据库操作-包装好的MySqlCommand-并将其保护为仅允许选择,更新等,而不允许删除等。(这是很多工作,再次,我认为这不是一种好方法和安全的方法)
还有其他选择吗?
原来我完全错了。解决方案很简单:根本不做。
我已经在nusoap PHP中创建了Web服务,并且我所有的安全数据都在其中。WPF应用程序仅存储临时用户票证,因此这是最安全的方法。我的错误是我直接连接到数据库。那是非常不好的做法。有趣的是,没有速度影响,实际上一切工作都非常顺利:)同样有趣的是,还在Web服务中检查了用户安全角色,因此更加安全:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句