是否可以使用凭据(或甚至是用户在登录Windows时输入的令牌,可以说XP)。我在这里搜索的是不应用单个登录(需要重新登录),但单点登录将是MS Windows登录窗口的登录。将凭据Windows传播到Java桌面应用程序
这可能吗?我理解Windows中的安全性也很重要,但是没有办法获得令牌并将其用于其他身份验证机制?
注意:首先登录的只是Microsoft Windows登录窗口,然后用户将能够使用缓存的凭据访问我的应用程序(但不需要重新登录)。
是否可以使用凭据(或甚至是用户在登录Windows时输入的令牌,可以说XP)。我在这里搜索的是不应用单个登录(需要重新登录),但单点登录将是MS Windows登录窗口的登录。将凭据Windows传播到Java桌面应用程序
这可能吗?我理解Windows中的安全性也很重要,但是没有办法获得令牌并将其用于其他身份验证机制?
注意:首先登录的只是Microsoft Windows登录窗口,然后用户将能够使用缓存的凭据访问我的应用程序(但不需要重新登录)。
如果您的机器是域的成员,则可以这样做。 Google for GSSAPI。并使用此字符串为您登录模块配置:
com.sun.security.auth.module.Krb5LoginModule required debug=true useTicketCache=true doNotPrompt=true;
注意,这仅适用于Sun的JVM,因为据我所知,IBM的JVM不支持获取从操作系统的票。
而且,这里是更多的信息,供各位:http://msmvps.com/blogs/sp/archive/2007/06/05/integrating-java-jdbc-and-kerberos.aspx
而且,这对现代版本的Windows的工作,你必须调整你的注册表设置:
在Windows Server 2003和Windows 2000 SP4的,这里是必需的注册表设置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters
allowtgtsessionkey
REG_DWORD
0x01
这里是注册表设置在Windows XP SP2中的位置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\
allowtgtsessionkey
REG_DWORD
0x01
非常感谢您的FOPR快速的答案。我会在早上尝试第一件事。 (是的,我的机器是域的成员)。这是什么一回事? http://java.sun.com/products/jndi/tutorial/ldap/security/gssapi.html 非常感谢! – theo 2010-07-13 20:28:47
有谁知道这是否适用于Windows 7 Professional? – Yaroze 2013-01-17 10:34:27
是的,它大部分时间都在使用。 – Vlad 2013-01-17 21:16:23