gpt4 book ai didi

java - 如何使用 Windows 登录进行单点登录和桌面 Java 应用程序的 Active Directory 条目?

转载 作者:IT老高 更新时间:2023-10-28 21:06:40 26 4
gpt4 key购买 nike

我想让我的桌面 Java 应用程序进行单点登录 Activity 目录用户。分两步,我想:

  1. 确保特定用户已使用某些用户条目登录到 Windows。
  2. 从 Active Directory 中查看该用户的一些设置信息

Java: Programatic Way to Determine Current Windows User我可以获得当前 Windows 用户的名称,但我可以依赖它吗?我认为

System.getProperty("user.name")

不够安全? (“user.name”似乎是从环境变量中获得的,所以我认为不能依赖它?)

问题 Authenticating against Active Directory with Java on Linux为我提供给定名称+密码的身份验证,但我想基于 Windows 登录进行身份验证?

对于 Active Directory 访问,LDAP 可能是选择?

最佳答案

不支持。 Java 6 有改进,但还不够。

Java 有自己的 GSS 堆栈。问题在于单点登录,您需要从操作系统(而不是 Java 堆栈)获取 Kerberos 票证。否则用户必须再次进行身份验证(违背单点登录的目的)。

http://java.sun.com/developer/technicalArticles/J2SE/security/ .查看“Access Native GSS-API”,它谈到了一个新的系统属性 sun.security.jgss.native,当它设置为 true 时,会导致 Java 使用底层的 OS GSS 实现,从而可以访问 OS 级别的身份验证。完美!....除了它仅支持 Solaris 和 Linux,不支持 Microsoft Windows。

然而,Java 6 似乎有足够的支持来充当服务器,从 IE 接收 SPNEGO 身份验证请求,然后针对 Active Directory 对该用户进行身份验证。只是桌面客户端支持还不完整。

关于java - 如何使用 Windows 登录进行单点登录和桌面 Java 应用程序的 Active Directory 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com