NET Windows集成身份验证

问题描述:

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

如果你只能扩展你的协议,那么一种方法是编写你自己的Stream类到你的NegotiateStream中,然后只需要把NegotiateStream给你的消息放到你自己的协议中并给出响应通过Stream类来协商StreamStream流。 但是,如果可能,最简单的方法是将您的整个协议(流)包装在NegotiateStream中...

我假设你不能做一个HTTPRequest,这是一个桌面软件。

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

我认为System.EnvironmentSystem.DirectoryServices将成为看起来开始的地方。

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

我希望这会有所帮助。