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



我正在用WPF/MVVM编写Delphi应用程序的新版本。这不是从头开始的完全重新设计,而只是用 WPF 代码替换 Delphi 代码,并进行一些现代化更改。我目前只能访问正在运行的德尔福应用程序,而不是源代码,但很快就会有。

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

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

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

这不适合作为评论,所以我将其作为答案发布:

  • 您的应用程序的体系结构是什么? 2 层? 3 层?
  • 是否使用 WCF 进行通信?
  • 谁是应用程序的用户?视窗用户?
  • 您的应用程序从哪里使用?在Windows域中?通过互联网?

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

例如,如果使用 3 层体系结构、用于通信的 WCF、Windows 域上使用的应用程序,则可能对非自定义身份验证感兴趣(可以使用 Windows 身份验证)。请参阅 MSDN(WCF 中的身份验证、授权和标识)。

相关内容

最新更新