在Windows应用程序中使用自定义身份验证可以采取哪些预防措施?

时间:2013-11-06 13:18:10

标签: c# wpf security authentication mvvm

我正在WPF / MVVM中编写一个新版本的Delphi应用程序。它不是一个完整的重新设计,而只是用WPF代码替换Delphi代码,只需进行一些现代化更改。我目前只能访问正在运行的Delphi应用程序,而不是源代码,但很快就会有。

目前,身份验证使用数据库查询来查找用户名并进行哈希处理 - 我怀疑它不是一种方式,但必须在今天之后解决 - 密码。如何存储用户的身份验证,以检查对所有应用程序命令和数据的访问? User视图模型中的一个简单私有布尔值,一个包含在顶层应用程序视图模型中的实例?或者,当我延伸到授权时,只是为User视图模型分配了一个空的权限列表这一事实?通常在这里做什么?

该应用程序是一个非常大的国际公司的访问控制和考勤管理应用程序,因此安全级别需要相当高。由于同样庞大的用户群和访问权限列表,此时使用AD是不可行的,并且重写具有非常高的优先级。

1 个答案:

答案 0 :(得分:0)

实际上不是一个简单的问题。

这不适合作为评论,因此我将此作为答案发布:

  • 您的应用程序的架构是什么? 2层?三层?
  • 您使用WCF进行通讯吗?
  • 谁是您申请的用户? Windows用户?
  • 您的应用程序在哪里使用?在Windows域中?通过互联网?

这些问题可能会帮助您决定走哪条路。

例如,如果您使用的是3层体系结构,WCF用于通信,Windows域上使用的应用程序,您可能会对非自定义身份验证感兴趣(您可以使用Windows身份验证)。请参阅MSDN (Authentication, Authorization, and Identities in WCF)