我正在寻找最好/最简单的方法来添加现有协议的扩展(无法轻松更改实际协议),以允许用户在.NET中进行Windows身份验证(NTLM?)。我已经查看了AuthenticationManager类,但它要求我使用Web(Http)请求,这不是一个选项。 NegotiateStream是一个选项,因为我想将它集成到现有协议中,而不是将其包装成新协议。除了这两个选项之外还有其他选择吗?
答案 0 :(得分:0)
我假设你不能做HTTPRequest,这是一个桌面软件。
Active Directory和LDAP是您最有可能使用的协议。
我认为System.Environment和System.DirectoryServices将是开始寻找的地方。
我喜欢DirectorySearcher和Environment.UserName来获取有关用户的任何信息。
我希望这会有所帮助。
答案 1 :(得分:0)
如果你只能扩展你的协议,那么一种方法是编写你传递给NegotiateStream的你自己的Stream类,然后只需获取NegotiateStream给你的消息并放入你自己的协议中并回复NegotiateStream通过您的Stream类。 但是如果可能的话,最简单的方法是将整个协议(Stream)包装在NegotiateStream中......