java - Coldfusion.security.NTAuthentication : Error in locating groups for user XXX in domain XXX

标签 java coldfusion active-directory ldap

我正在使用coldfusion.security.NTAuthentication与 ColdFusion 一起提供,用于集成 Windows SBS 上的 Activity 目录设置,旨在返回特定用户所属的组。

在我的开发机器上,这工作得非常好 - 但是在实际机器上我看到以下错误:

Error in locating groups for user XXX in domain XXX.

这两台机器有很大不同,但在我看来并不重要。

设置如下:

开发机器

  • Windows 2008
  • ColdFusion 11 开发者版
  • Java 8.0.25.18

生产机器

  • Windows 2008 R2
  • ColdFusion 10 标准版
  • Java 8.0.710.15

Active Directory 计算机

  • Windows SBS 2011

值得注意的是,虽然这些机器不相同,但两者都能够通过 authenticateUser() 对用户进行身份验证。方法。 这表明该类正在运行并且能够毫无问题地连接到 AD 服务器。 我还可以使用<cfldap>检索有关用户的信息。

这是一些非常简单的代码:

Local.ntauth            = createObject("java", "coldfusion.security.NTAuthentication");
Local.ntauth.init('MyDomain');
Local.Authenticated     = Local.ntauth.authenticateUser('Username', 'Password'); // Returns 'YES'
Local.Groups            = Local.ntauth.GetUserGroups('Username') // Throws error

该问题不仅限于GetUserGroups方法,尝试使用 IsUserInGroup 时会出现类似的错误.

有人可以帮忙吗?

最佳答案

这原来是 Windows 权限的问题。 (不是全部吗?)

所以,我在问题中忽略提及的是,生产服务器已使用 CF10 Lockdown Guide 中详细介绍的技术进行保护。 .

此过程的一部分涉及为 ColdFusion 服务创建专用用户。

如果我使用标准“本地系统”用户,GetUserGroups 函数似乎可以工作,但如果我使用专用 ColdFusion 用户,则不行。

在进程监视器的帮助下,我注意到当调用 GetUserGroups 函数时,会调用 Active Directory 服务器到 /PIPE/Samr

当 ColdFusion 使用本地系统用户运行时,此调用由 NT AUTHORITY\SYSTEM 进行并返回一大堆信息 - 但是当 ColdFusion 以新的专用用户帐户,调用由该帐户进行并返回登录失败

大概必须有一种方法可以向服务器本地的 ColdFusion 用户授予对 Active Directory 的访问权限,从而允许 GetUserGroups 调用。

我不确定如何实现这一目标,因此目前已恢复为本地系统用户,但我可能会重新访问此问题并更新我的答案。

关于java - Coldfusion.security.NTAuthentication : Error in locating groups for user XXX in domain XXX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35322229/

相关文章:

java - 如何使用 eclipse 在云上进行开发?

.htaccess - Coldfusion 301 重定向循环(www 和非 www 指向同一个文件)

mysql - 找不到 Coldfusion EntityLoad get 方法,但使用 EntityLoadByPK 时,get 方法可以工作

paypal - Paypal 自适应支付 API 的问题

c# - 如何获取 guest /管理员的本地组名?

java - 如何从 Image 对象获取 byte[] 数据?

java - 带有 :errors tag 形式的 Spring JSR-303

active-directory - ADAL.js 与 Multi-Tenancy Azure Active Directory

java - 涉及多个关联的 HQL JOIN

active-directory - Active Directory 中用户的 LastLogonTimeStamp 值不正确