我正在开发一个用 Java 编写的服务器和一个在同一网络上的 Windows 计算机上运行的客户端(用 .Net 编写的桌面应用程序)。我希望进行一些基本身份验证,以便服务器可以确定运行客户端的用户的用户名,而不需要用户在客户端中重新输入其 Windows 密码。
这可能吗?实现它的最简单方法是什么?
我查看了一些可用的 API,看起来好像 Java 中的 org.ietf.jgss 包和 .Net 中的 NegotiateStream 类应该能够相互通信来实现这一目标 - 但我一直感到沮丧我不明白的错误消息。我想我应该检查这是否是正确的方法,如果是的话,我将发布一个单独的问题,其中包含有关相关错误的更多详细信息:)
这种方法是正确的。但请注意以下几点:
- 这与“基本身份验证”(在 http 中)无关
- .NET将尝试使用SPNEGO GSS机制。请参阅Sun 文档 http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/part5.html为这一机制提供适当的支持。
- 您的服务需要体现一个服务主体。因此,您不仅需要为用户创建一个 Active Directory 帐户,还需要为服务创建一个 Active Directory 帐户,并且需要将服务的密码放入 Java keytab 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)