我正在寻找将扩展添加到现有协议(不能轻易更改实际协议)以允许用户在 .NET 中进行 Windows 身份验证(NTLM?)的最佳/最简单方法。我已经查看了 AuthenticationManager 类,但它要求我使用 Web(Http)Request 这不是一个选项。NegotiateStream 是一种选择,因为我想将其集成到现有协议中,而不是将其包装到新协议中。除了这两个之外,我还有其他选择吗?
Ck
问问题
575 次
2 回答
0
我假设由于您无法执行 HTTPRequest,因此这是一款桌面软件。
Active Directory 和 LDAP 是您最有可能使用的协议。
我认为System.Environment和System.DirectoryServices将是开始的地方。
我喜欢DirectorySearcher和Environment.UserName来获取有关用户的任何信息。
我希望这有帮助。
于 2008-09-25T14:17:43.820 回答
0
如果您只能扩展您的协议,那么执行此操作的一种方法是编写您自己的 Stream 类,然后将其传递给 NegotiateStream,然后将 NegotiateStream 提供给您的消息放入您自己的协议中,然后通过您的协议将响应返回给 NegotiateStream流类。但如果可能的话,最简单的方法是将整个协议(流)包装在 NegotiateStream 中......
于 2008-09-25T14:29:56.303 回答