相关疑难解决方法(0)

在Linux上使用Java对Active Directory进行身份验证

我有一个简单的任务,使用Java对Active Directory进行身份验证.只是验证凭据而不是其他任何内容.假设我的域名为"fun.xyz.tld",OU路径未知,用户名/密码为testu/testp.

我知道有一些Java库可以简化这项任务,但我没有成功实现它们.我发现的大多数示例都是针对LDAP的,而不是特定的Active Directory.发出LDAP请求意味着在其中发送OU路径,这是我没有的.此外,发出LDAP请求的应用程序应该已绑定到Active Directory以便访问它...不安全,因为凭据必须存储在某处可被发现的位置.如果可能的话,我希望测试绑定测试凭据 - 这意味着帐户有效.

最后,如果可能的话,有没有办法使这种认证机制加密?我知道AD使用Kerberos,但不确定Java的LDAP方法是否可以.

有没有人有一个工作代码的例子?谢谢.

java authentication ldap active-directory

73
推荐指数
4
解决办法
15万
查看次数

Java:确定当前Windows用户的程序化方法

我看到很多类似的问题,但是我想找到使用Java的当前登录用户的用户名.

它可能类似于:

System.getProperty(current.user);
Run Code Online (Sandbox Code Playgroud)

但是,我不太确定.

java windows

8
推荐指数
2
解决办法
1万
查看次数

如何确定登录的Windows帐户是否已在域上进行身份验证

可能重复:
在客户端 - 服务器应用程序中使用Active Directory验证用户

我正在尝试使用非托管C++在我的程序中使用单点登录方法,并且需要确定当前的Windows用户是否在我的域中进行了身份验证.如果我能找到一种方法来了解用户已经过身份验证,我将允许他进入我的桌面应用程序而无需密码(用户名在我的应用程序和域中是相同的).

我可以使用ADsOpenObject()直接针对Active Directory进行身份验证,但这需要用户名,密码和权限,我只需要使用用户名,而不需要用户自己输入.

使用.net我可以使用System.DirectoryServices中的东西,就像在这个线程中一样.

据我所知,此任务可能涉及分析Windows安全kerberos令牌以正确执行.这是深入讨论这个主题,并在为Java触及线.虽然我不需要严格的SSO,因为我的应用程序不会尝试访问与域相关的任何内容.

SSPI票证方式是唯一的方式,还是可以利用ADSI/WinLogon/CredentialsCache的某些属性来使其工作?

c++ windows authentication active-directory single-sign-on

6
推荐指数
1
解决办法
3134
查看次数