1

我正在寻找将扩展添加到现有协议(不能轻易更改实际协议)以允许用户在 .NET 中进行 Windows 身份验证(NTLM?)的最佳/最简单方法。我已经查看了 AuthenticationManager 类,但它要求我使用 Web(Http)Request 这不是一个选项。NegotiateStream 是一种选择,因为我想将其集成到现有协议中,而不是将其包装到新协议中。除了这两个之外,我还有其他选择吗?

4

2 回答 2

0

我假设由于您无法执行 HTTPRequest,因此这是一款桌面软件。

Active Directory 和 LDAP 是您最有可能使用的协议。

我认为System.EnvironmentSystem.DirectoryServices将是开始的地方。

我喜欢DirectorySearcherEnvironment.UserName来获取有关用户的任何信息。

我希望这有帮助。

于 2008-09-25T14:17:43.820 回答
0

如果您只能扩展您的协议,那么执行此操作的一种方法是编写您自己的 Stream 类,然后将其传递给 NegotiateStream,然后将 NegotiateStream 提供给您的消息放入您自己的协议中,然后通过您的协议将响应返回给 NegotiateStream流类。但如果可能的话,最简单的方法是将整个协议(流)包装在 NegotiateStream 中......

于 2008-09-25T14:29:56.303 回答