将 Java 应用程序连接到 AD 服务器时,出现以下错误:
javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 531, v1db1]
我理解错误代码531的意思是not permitted to logon at this workstation
.
但是,我检查了该特定用户的 AD 服务器上的登录属性,它具有我尝试登录的工作站的 IP。
我检查了下面的问题,并将 AD 服务器的 IP 包含在登录字段中,现在我可以登录了。
无法从 Java 代码获取与 AD 的连接 https://stackoverflow.com/questions/18766158/cant-get-connection-with-ad-from-java-code
我的问题是,为什么必须包含 AD 服务器或域控制器的 IP/名称才能正常工作?
Thanks
是否必须将 DC 添加到帐户的“登录到...”限制,完全 100% 取决于将使用它的应用程序以及该特定应用程序是否在登录请求中发送源工作站名称或者如果它只发送没有工作站名称的 IP。如果它仅发送 IP,则源工作站字段将填充 DC 的名称,这就是必须将 DC 添加到“登录到...”限制的原因。这种情况最常见于非 Windows 设备/系统,例如 NetScaler。
下面是一个示例安全事件 ID 4625,用于从 Netscaler 设备尝试使用未将 DC 添加到其“登录到...”限制的帐户列表中的帐户进行登录:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Date: 1/27/2014 9:22:36 AM
Event ID: 4625
Task Category: Logon
Level: Information
Keywords: Audit Failure
User: N/A
Computer: AD01.mydomain.com
Description:
An account failed to log on.
Subject:
Security ID: SYSTEM
Account Name: AD01$
Account Domain: MYDOMAIN
Logon ID: 0x3e7
Logon Type: 3
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: netscalersvc
Account Domain: MYDOMAIN
Failure Information:
Failure Reason: User not allowed to logon at this computer.
Status: 0xc000006e
Sub Status: 0xc0000070
Process Information:
Caller Process ID: 0x260
Caller Process Name: C:\Windows\System32\lsass.exe
Network Information:
Workstation Name: AD01
Source Network Address: 192.168.5.5 <- NetScaler's IP, not AD01's IP
Source Port: 64015
Detailed Authentication Information:
Logon Process: Advapi
Authentication Package: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Transited Services: -
Package Name (NTLM only): -
Key Length: 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)