【发布时间】:2019-06-25 13:10:26
【问题描述】:
我是活动目录编程的新手。我需要设置一个只有经过身份验证的活动目录用户才能使用的服务。我一直在阅读 msdn 文档。我对整个设置的想法如下,
- 我已将我的电脑添加到 AD 域中,我已创建用户。 (均手动)
- 我编写了一个简单的 REST 服务,它在 GET 调用中返回“Hello world”。我在https://docs.microsoft.com/en-us/windows/desktop/ad/publishing-with-service-connection-points 中阅读了有关“服务发布”的信息。虽然现在不知道如何将我的 REST 服务注册为活动目录对象。朝那个方向的任何示例/引导都会有所帮助。
- 我最终想做的类似于https://docs.microsoft.com/en-us/windows/desktop/ad/mutual-authentication-using-kerberos
客户端应用程序使用 Active Directory 域服务中的服务实例的服务连接点 (SCP) 对象来检索数据,从中为服务构成 SPN。
所以我的主要问题是可以注册像我的示例这样的 Web 服务以注册为活动目录“启用域”服务吗?
如果您需要有关上下文的更多详细信息,请告诉我。如果这个问题对你来说太容易了,那么我提前道歉,我看了几天了,我还不清楚:(
【问题讨论】:
-
如果您的 Web 服务在 Windows 上的 IIS 中运行,那么这非常简单。 IIS 处理实际的身份验证:docs.microsoft.com/en-us/iis/configuration/system.webserver/… 在您的应用程序中如何获取用户信息取决于您的应用程序是用什么编写的。对于 ASP.NET,您可以使用
HttpContext.Current.User获取用户名。 -
非常感谢您的回复。我不太清楚如何将我的服务包含在 Windows IIS 中。截至目前,该服务正在单独的远程服务器中运行。
-
远程服务器在运行什么?实施取决于您正在运行的 Web 服务器软件。
-
我认为您的问题的答案是 Jetty Web 服务器。简单的 REST 代码是用 Java 编写的。
-
我不是 Java 开发人员,也从未使用过 Jetty,所以我无能为力。但是我在您的问题中添加了 jetty 和 java 标签,因此它可能会引起可以提供帮助的人的注意。
标签: java active-directory jetty kerberos