检测使用Java登录计算机的用户
我想开发一个可以检测登录Window Domain的用户的Java应用程序。 这些凭据将用于登录Java应用程序。
我怎样才能做到这一点?
谢谢!
System.getProperty("user.name")
如果您需要域名,可以使用:
com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem(); System.out.println(NTSystem.getName()); System.out.println(NTSystem.getDomain());
再见。
注意:System.getProperty(“user.name”)仅在用户启动应用程序时有效。 如果程序由系统或LANDesk等应用程序运行,则用户将显示为“SYSTEM”(在域“NT AUTHORITY”下)。
在这种情况下,使用NTSystem的第二个解决方案将返回正确的结果。
我注意到,主题启动者随后在评论中询问他/她是否可以在Java webapp中使用它,每次都回答“否”。 如果您在服务器端运行特定代码,则会出现这种情况,但如果您在客户端以applet或jnlp的forms运行它,而不是在请求的jsp / html页面中运行它。 然而,它必须在之后将所需信息发送到服务器端。
- 使用JNDI / Java中的当前用户在LDAP上进行身份validation
- 在ssl(ldaps)的支持下连接活动目录
- 安全Java SOAP Web服务 – Active Directory身份validation信任
- 如何在JBoss中配置SQL Server数据源以使用特定的Active Directory用户进行连接?
- 如何将Java连接到Active Directory
- Java SimpleDateFormat总是返回1月份的月份
- 我可以从LDAP更改自己的Active Directory密码(没有管理帐户)
- Java SSO:针对Active Directory的Kerberos身份validation
- 如何使用Spring Security对Active Directory服务器进行身份validation?