问题标签 [adam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
157 浏览

.net - LDAP 调用级别的 ADAM 抽象

我有一个我们的应用程序需要与之交互的 ADAM 目录。目前我们有一个抽象,这样我们的存储库使用 Sql Server 而不是进行适当的 LDAP 调用。我们希望更接近我们的集成点并改用我们实际的 LDAP 存储库。

问题是这会减慢我们的开发场景。我们非常有“获取最新信息 -> F5”的体验,并且该应用程序“正常运行”。完全引入这个集成点将为我们杀死它,我们不想(完全)这样做。

是的,我们都可以在上面运行带有 ADAM 的 VM,但是这样做会产生很多开销。我们还有一个可以使用的集中式服务器,但连接速度很慢(我们通过 3G 连接远程工作,并且 LDAP 查找需要 5 秒的往返时间)。

所以我想知道是否有一种方法可以连接到 LDAP 协议,拦截这些调用并将它们重定向到 XML 或某种数据库。我听说过这种东西可用(这里说!)但在.Net 世界中找不到任何东西(我认为这是Java)。

所以基本上我正在寻找任何解决过类似问题的人,或者知道一种连接 LDAP 调用的方法。谢谢。

0 投票
0 回答
321 浏览

certificate - 从 LDS 中删除过期的证书(ADAM 的新版本)

这是我的情况:

我们正在使用 Microsoft 的轻量级目录服务(带有 Server 2008 的 ADAM 的新版本)替换当前托管在 Sun 的 iPlanet 上的证书存储。

这些证书已被导入 LDS 到应用程序分区(例如 o=myorg,C=AU)。在这种结构下,我有大约 40,000 个 OU,每个代表一个客户,每个客户 OU 是一个或多个用户 (iNetOrg) 对象(总共大约 60,000 个)。每个用户的 UserCertificate 属性中都有一个或多个证书。

内部编写的应用程序代码和专有 PKI 代码的组合读取并发布这些证书以验证金融交易。

由于证书的 LDAP 路径存储在客户证书中(以及应用程序代码中),并且对更改任何代码的兴趣为零,因此我不得不将 iPlanet 目录作为一个整体提取并转储到 LDS 中相同的结构。

(我不会使用或托管 Microsoft CA,只是实施符合 LDAP 的目录来托管这些证书)

我们已经使用 LDS 中的数据对应用程序进行了全面测试,一切正常 - 这是我的困境和问题(最后,唷!)

没有为删除已撤销或过期的证书设置任何流程,因此绝大多数数据完全无用,系统已经运行了大约 8 年!我做了一个快速分析,我估计至少 80% 的数据不再有效。

当我负责管理目录时,我想从一个干净的目录开始。有谁知道如何清理这些过期的证书。我不是一个经验丰富的脚本编写者,但有一些 VB 的背景。我一直在研究 CAPICOM 的使用,感觉这可能可以使用,但我不确定具体是什么方式?

我更愿意编写一个脚本,我可以指定一个到期日期(比如任何在 2010 年之前到期的证书),然后针对 LDS 分区运行。这样我可以定期重用脚本来清理目录(如上所述 - 我无法调整正在编写证书的应用程序,这是与第三方合作的)。

另一种不太吸引人的替代方法是在导入之前按摩 LDIF 文件(270 万行!)以撕掉证书

非常感谢任何帮助和建议。

干杯

乔恩

0 投票
1 回答
2185 浏览

asp.net - Active Directory 自定义用户配置文件/属性?

我目前使用 ActiveDirectoryMembershipProvider 仅用于在 asp.net 中构建的内部业务应用程序上进行身份验证。这就像一个魅力。

我现在希望添加一些功能来处理用户的自定义配置文件信息,最好也存储在 Active Directory 中。

举个简单的例子,假设自定义属性是 FavoriteColor。然后目标是让我的应用程序能够为经过身份验证的用户读取此自定义属性。

我研究了一下ADAM。这看起来对于角色提供者来说会很棒,但我还没有真正找到任何表明它可以很好地用于配置文件提供者,或者它甚至可以让我存储像 FavoriteColor 这样的自定义属性。也许有人知道更好?

我对 Active Directory 也很陌生,所以也许甚至可以选择在其中存储自定义用户属性(如 FavoriteColor)?

一般来说,我只是在寻找有关实现这一点的最佳方法的想法?

谢谢!

0 投票
2 回答
936 浏览

sql-server-2008 - 您可以使用 AD LDS (ADAM) 帐户向 SSAS 进行身份验证吗?

我对 AD LDS 非常陌生,并且经验丰富但不具备 SSAS 资格,因此我对我对这些的无知表示歉意。

我们有几个实现,我们通过 HTTPS 代理 (msmdpump.dll) 公开 SSAS,目前我们有一个临时域设置来处理这个问题(我们的最终用户有第二个帐户+凭据来管理,因为这 = 不理想) . 我想让我们转向一个更永久的解决方案,我正在考虑将所有身份验证转移到我们的 Web 应用程序、SSAS 和其他的 AD LDS。但是,SSAS 是我担心的地方。

我知道 SSAS 需要 Windows 身份验证才能正常运行,这最终意味着将涉及 Active Directory。

有没有办法通过 AD LDS 完成这项工作,而不必使用完整的 AD DS 实现?如果是这样,怎么做?

0 投票
2 回答
1394 浏览

ldap - 如何使用 ADAM 使密码过期

我们正在使用 ADAM 在我们的开发环境中模拟 AD 服务器。我们需要让几个用户的密码过期,以测试几个关键代码路径。

我们一直通过将密码到期窗口设置为低(1 天)然后等待该时间间隔直到密码到期来做到这一点。但是,这很慢,一旦我们更改密码,我们必须再等一天才能看到另一个到期窗口。

有没有人有一个简单的解决方案来解决这个问题?

0 投票
1 回答
961 浏览

.net - 在 C# 中使用 ADSI 进行 LDAP 绑定错误代码

我正在使用 ADSI 提供程序从 C# 客户端绑定到 ADAM 实例。当绑定失败时,我会返回一个表明失败的通用错误条件。如果我查看流量的网络跟踪,我可以看到 ADAM 实例本身将扩展错误信息发送回我的客户端,指示此身份验证失败的原因,但似乎 ADSI 提供程序丢弃了此扩展信息,只是向我提供了事实绑定失败。

例如,在失败的绑定中,会抛出一个带有 ErrorCode 属性的 COMException,该属性将始终包含值 8007052E。如果我查看网络跟踪,则 LDAP 发回失败的原因有多种,其中可能包括密码过期、帐户禁用、密码无效、用户不存在等错误。

有没有办法使用 ADSI 或 COMException 对象来获取这个扩展的错误信息?如果没有,是否有人使用过的其他 .NET 提供程序能够获取此信息?

0 投票
4 回答
1103 浏览

wcf - 使用 ADAM (AD LDS) 对来自 Silverlight 的 WCF 调用进行身份验证

我有一个调用多个 WCF 服务的 Silverlight 4 客户端。我们希望使用 SSL 对通信进行加密(我已经解决了这部分问题),并且每个呼叫都通过 AD LDS (ADAM) 进行身份验证,您有任何简单的示例来说明如何进行这项工作吗?有很多关于 oh-so-many WCF 选项的文档,但我无法找到这个特定(但我认为很常见)场景(SSL 加密 + ADAM 身份验证 + Silverlight)的简单工作示例。非常感谢任何帮助或指示。

0 投票
0 回答
351 浏览

wcf - 对 ADAM (AD LDS) 使用 ActiveDirectoryMembershipProvider 时的域名是什么

好的,在针对 AD LDS 对 WCF 调用程序进行身份验证的过程中,我已经走了很长一段路,现在我已经设置了 ActiveDirectoryMembershipProvider,因此即使是 VS2010 项目/ASP.NET 配置工具也允许我创建和编辑 AD LDS 用户,并且这样做是使用安全连接(因此 web.config 中不需要用户名/密码),到目前为止一切顺利,但是现在当我尝试实际验证用户时,我不断收到验证失败消息,我强烈怀疑这是因为 AD LDS 需要 user@domain 格式的用户名,如果您使用 Active Directory,则域很明显,但我使用的是 AD LDS,那么在这种情况下,域是什么?我真的,真的希望这是一个明显的 ADAM 问题,因为我快到了……

0 投票
1 回答
630 浏览

c# - AD LDS 上下文密码间歇性重置

使用 C# 中的 DirectoryServices.AccountManagement 库,我正在建立一个 PrincipalContext,然后使用该上下文来验证用户。

似乎我用来建立上下文的用户名正在间歇性地损坏/重置,或者正在发生其他事情导致建立上下文失败。

手动重置密码以使用 ADSIEdit 后,我​​可以正常建立上下文。

我正在建立上下文,如图所示:

PrincipalContext ldsUserContext = new PrincipalContext( ContextType.ApplicationDirectory, "[servername]:389", "CN=USERS,CN=XXX,O=XXX", ContextOptions.SimpleBind, "CN=[username],CN=PEOPLE,CN=XXX ,O=XXX", "[密码]");

然后我使用 ValidateCredentials,如下所示:

context.ValidateCredentials("CN=[login],CN=USERS,CN=XXX,O=XXX", [userpassword], ContextOptions.SimpleBind)

目前大约有 15 个用户在一天中每个用户登录大约 5 次。每次出现问题之间可能有几天或几个月的时间。

关于可能发生什么的任何想法?

谢谢,

马特

0 投票
2 回答
18000 浏览

java - 使用 Spring Security 对 ADAM 使用 LDAP 进行身份验证

我正在尝试使用 spring-security 获取一个 Java 应用程序来与我设置的本地 ADAM 实例通信。

我已成功安装 ADAM 并设置如下....

  • 在 localhost:389 上运行的实例
  • 根是O=Company
    • 一个叫OU=Company Users(orgnizationalUnit) 的孩子
      • 一个叫CN=Mike Q(用户)的孙子
      • uid = mikepassword = welcome

然后我设置了 spring-security(版本 3.0.3、spring-framework 3.0.4 和 spring-ldap 1.3.0)。弹簧文件

和TestAuthentication

运行这个我得到以下错误

如果有人能指出我哪里出错了,我将不胜感激。此时我只想使用 LDAP 验证输入的用户/密码,没有比这更复杂的了。

我也对一些一般观点感兴趣,因为这是我第一次涉足 LDAP 世界。

  • LDAP 是否区分大小写?
  • 最好避免空格吗?
  • 避免在 LDAP 查询中以明文形式发送密码的一般用例/最佳实践是什么?