我有一位客户要求将Windows的LDAP / AD登录与桌面.NET应用程序集成。它是一个桌面.NET应用程序,这意味着它不是一个可公开访问的网页:它是一个可执行的GUI,它将作为Windows下的程序(而不是服务)运行,在本地复制电脑。
客户要求此作为安全措施。打开应用程序时,输入用户名和密码,并使用LDAP进行身份验证检查。 我并不真正了解这应该保护的安全风险:
我已经问过我与客户的联系,但他的答案基本上归结为"因为它的公司政策"所以我也不认为他真的理解它。 你能想出为什么要这个吗?它保护的安全风险是什么?
答案 0 :(得分:1)
如果您的桌面应用程序用于批准,这是有道理的。我已经使用了许多应用程序(例如:变更管理应用程序),这些应用程序要求您在使用之前和每次批准时都要登录。
此身份验证&用户授权变得至关重要,特别是如果您的客户必须符合FDA / GxP标准(21 CFR Part 11.10)[搜索here以获取“Digital'”一词,其中强调了软件应注意确保该人员需要针对有效来源进行身份验证。这可以是AD身份验证,SMART卡等......
答案 1 :(得分:1)
我不打算讨论LDAP auth与MySQL的比较,为什么LDAP更具可扩展性,速度快,为什么不在这里使用RDBMS。我会一般地给你一个想法。
首先,如果回答“因为这是公司政策”那么我可以向你保证,你不能赢,因为这是陈词滥调。当人们对他们想要的东西知之甚少以及知道所有人告诉他们的内容时,你会得到这样的答案!
只有当用户正确使用它们并且开发人员正确开发它们时,应用程序才是安全的。
今天的编程是软件工程师努力的竞赛 建立更大,更好的白痴程序,宇宙尝试 产生更大更好的白痴。到目前为止,宇宙正在赢得 - Rich Cook。
回到你的问题,LDAP auth提供了一些常见的安全性(我开发了一些LDAP auth应用程序,所有这些都是相同的,因为这个过程总是相同的)。在一个地方保留和管理帐户的主要原因,就是这样。它可以称为安全性和公司政策。我认为他们更关心以下两个步骤。
在桌面环境中提供应用程序可能有其背后的安全原因,但与LDAP无关,因此它只是一个“策略”。