当前位置: 首页 > 面试题库 >

如何将Windows登录用于桌面Java应用程序的单点登录和Active Directory条目?

丁文轩
2023-03-14
问题内容

我想让我的桌面Java应用程序具有与Active Directory用户相关的单点登录。分两步,我想:

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

使用Java:确定当前Windows用户的编程方法我可以获得当前Windows用户的名称,但是我可以依靠它吗?我觉得

System.getProperty("user.name")

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

问题在Linux上使用Java对ActiveDirectory进行
身份验证可以为我提供给定名称和密码的身份验证,但是我想基于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对该用户进行身份验证。它只是对桌面客户端的支持仍然不完整。



 类似资料:
  • 是否有标准或经过验证的模型以sso方式对同一设备上的各种应用程序进行身份验证? 假设设备上有两个应用程序,它们需要相同的登录/密码凭据才能对同一系统进行身份验证。 我们希望能够: -启动APP1 -登录APP1 -启动APP2。在app2中,用户已经通过身份验证。 我们认为是一个“pop”模型,其中第一个进行登录的应用程序共享身份验证的信息(例如,令牌)。第二个应用程序,获取(弹出)令牌来执行SS

  • 1、概念 单点登录SSO,说的是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。 2、单点登录的要点 存储信任; 验证信任; 3、实现单点登录的三种方式 (1)以cookie作为凭证 最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。 用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带

  • 我已经创建了react应用程序,并使用下面提供的okta示例使用okta登录。 https://developer.okta.com/code/react/okta_react/#add-an-openid-connect-client-in-okta 我可以通过输入凭据并点击登录按钮成功地从我的应用程序登录到应用程序。 但是,如果我登录到okta开发帐户,然后如果我导航到我的应用程序,我的应用程

  • 我已经搜索了很多关于如何实现SSO的好文档,因为我是这个领域的初学者。但被网上提供的文件弄糊涂了。是否有任何文档可以帮助我指导:如何创建/配置IDP、SP、如何实现SSO? 我的web应用程序使用Java 8、angular JS、JSP、Spring(带注释)、Hibernet、Maven、JBOSS。 提前感谢您的时间。

  • 注意 所有OAuth2 SSO和资源服务器功能在版本1.3中移动到Spring Boot。您可以在Spring Boot用户指南中找到文档 。 该项目提供从CloudFoundry服务凭据到Spring Boot功能的自动绑定。如果您有一个称为“sso”的CloudFoundry服务,例如,使用包含“client_id”,“client_secret”和“auth_domain”的凭据,它将自动绑

  • 地址URL https://api.es.xiaojukeji.com/river/Login/getLoginEncryptStr 返回数据格式 JSON 请求方式 GET 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes