WPF应用程序安全性和数据访问-MEF模块化应用程序MVVM

第411章

我正在使用NET Framework 4.0客户端配置文件,带有MEF和MVVM模型的PRISM和MySQL数据库在WPF中编写一个应用程序。

我有一个Shell应用程序,其中包含重要的安全性数据,例如数据库登录名,密码等。我不想公开该安全性数据,但是其他模块必须访问数据库。

有没有一种方法可以在Shell和模块之间共享这种数据。一种安全的方法?我应该如何组织数据访问?

对我来说最好的选择是:

SHELL-具有所有安全数据及其加密信息,并且不会以任何方式公开。

模块-尽可能独立,但也可以通过与SHELL进行某种通信来访问数据库

我想出了几种解决方案:

  1. 共享上下文-需要时将连接字符串传递给模块。(但我认为这是安全数据泄漏的危险方式)

  2. 向PRISM注册服务,该服务将公开必需的数据库操作(但是模块将不会独立,并且所有模块的所有数据访问都将在Shell中)

  3. 向PRISM注册通用服务,该服务将接受自定义数据库操作-包装好的MySqlCommand-并将其保护为仅允许选择,更新等,而不允许删除等。(这是很多工作,再次,我认为这不是一种好方法和安全的方法)

还有其他选择吗?

第411章

原来我完全错了。解决方案很简单:根本不做。

我已经在nusoap PHP中创建了Web服务,并且我所有的安全数据都在其中。WPF应用程序仅存储临时用户票证,因此这是最安全的方法。我的错误是我直接连接到数据库。那是非常不好的做法。有趣的是,没有速度影响,实际上一切工作都非常顺利:)同样有趣的是,还在Web服务中检查了用户安全角色,因此更加安全:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章