我有一个客户正在请求集成Windows的LDAP / ADlogin与桌面.NET应用程序。 这是一个桌面.NET应用程序,这意味着它不是一个可公开访问的网页:它是一个GUI的可执行文件,可以作为Windows系统下的程序(而不是服务)运行,并在本地复制到计算机上。
客户要求这是安全措施。 打开应用程序时,input用户名和密码,并使用LDAP进行身份validation检查。 我真的不明白这个应该保护的安全风险:
我曾问过与客户的联系,但他的回答基本上归结为“因为这是公司的政策”,所以我不认为他真的了解它。 你能想到你为什么要这样做的原因吗? 它所保护的安全风险有哪些?
这是有道理的,只要你的桌面应用程序用于批准。 我已经使用了许多应用程序(例如:更改管理应用程序),这些应用程序需要您先登录,然后才能使用并且每次都获得批准
用户的认证和授权变得至关重要,特别是如果您的客户必须符合FDA / GxP标准(21 CFR第11.10部分)[ 在此搜索“数字”术语],强调软件应该注意确保个人需要要通过有效的来源进行认证。 这可以是AD身份验证,智能卡等…
我不打算比较LDAP认证和MySQL的比较,为什么LDAP更具可扩展性,速度更快,为什么不在RDBMS这样呢? 一般来说,我会给你一个想法。
首先,如果答案是“因为这是公司的政策”,那么我可以向你保证,你赢不了,因为这是一个陈词滥调。 当人们对他们想要什么以及他们被告知什么都知之甚少的时候,你会得到这样的答案。
只有用户正确使用它们,开发人员才能正确开发应用程序,应用程序才是安全的
今天编程是软件工程师之间的竞争,努力建立更大,更好的防白痴程序,宇宙试图产生更大更好的白痴。 到目前为止,宇宙正在赢得 – 富有的库克。
回到你的问题,LDAP认证提供了一些常见的安全性(我开发了一些LDAP认证应用程序,它们都是相同的,因为过程总是相同的)。 在一个地方保持和管理账户的主要原因,就是这样。 它可以被称为安全和公司政策。 我觉得他们更关心下面的两个步骤。
在桌面环境中使用应用程序可能存在安全原因,但与LDAP无关,因此它只是一个“策略”。