适用于桌面.net应用程序的LDAP / AD集成:是否有意义?

我有一个客户正在请求集成Windows的LDAP / ADlogin与桌面.NET应用程序。 这是一个桌面.NET应用程序,这意味着它不是一个可公开访问的网页:它是一个GUI的可执行文件,可以作为Windows系统下的程序(而不是服务)运行,并在本地复制到计算机上。

客户要求这是安全措施。 打开应用程序时,input用户名和密码,并使用LDAP进行身份validation检查。 我真的不明白这个应该保护的安全风险:

  • 该应用程序在Windows下运行,所以Windows用户必须已经login – >在Windowslogin和应用程序login都检查凭据有什么意义?
  • 我能想到的唯一情况是,如果某人在login到Windows时将他的电脑无人看pipe,在这种情况下,其他人可以启动该应用程序:但是,这并不妨碍某人在他离开电脑时无人看pipelogin到Windows并login到应用程序。 投入时间防止一种情况而不是另一种情况是没有道理的,两者都可能发生。

我曾问过与客户的联系,但他的回答基本上归结为“因为这是公司的政策”,所以我不认为他真的了解它。 你能想到你为什么要这样做的原因吗? 它所保护的安全风险有哪些?

这是有道理的,只要你的桌面应用程序用于批准。 我已经使用了许多应用程序(例如:更改管理应用程序),这些应用程序需要您先登录,然后才能使用并且每次都获得批准

用户的认证和授权变得至关重要,特别是如果您的客户必须符合FDA / GxP标准(21 CFR第11.10部分)[ 在此搜索“数字”术语],强调软件应该注意确保个人需要要通过有效的来源进行认证。 这可以是AD身份验证,智能卡等…

我不打算比较LDAP认证和MySQL的比较,为什么LDAP更具可扩展性,速度更快,为什么不在RDBMS这样呢? 一般来说,我会给你一个想法。

首先,如果答案是“因为这是公司的政策”,那么我可以向你保证,你赢不了,因为这是一个陈词滥调。 当人们对他们想要什么以及他们被告知什么都知之甚少的时候,你会得到这样的答案。

只有用户正确使用它们,开发人员才能正确开发应用程序,应用程序才是安全的

今天编程是软件工程师之间的竞争,努力建立更大,更好的防白痴程序,宇宙试图产生更大更好的白痴。 到目前为止,宇宙正在赢得 – 富有的库克。

回到你的问题,LDAP认证提供了一些常见的安全性(我开发了一些LDAP认证应用程序,它们都是相同的,因为过程总是相同的)。 在一个地方保持和管理账户的主要原因,就是这样。 它可以被称为安全和公司政策。 我觉得他们更关心下面的两个步骤。

  • 约翰加入公司,IT经理在AD创建他的电子邮件帐户,分配给一些OU(组织单位)。 约翰使用的应用程序,但他只能使用应用程序的某些功能 ,基于他的OU来自LDAP身份验证(一个大的数组/对象)。 安全级别是这样定义的。
  • 约翰离开公司,IT经理禁用/删除他的帐户在AD和约翰无法登录系统了。 系统自动保护。

在桌面环境中使用应用程序可能存在安全原因,但与LDAP无关,因此它只是一个“策略”。