.NET Windows集成身份验证

时间:2008-09-25 14:07:49

标签: .net security authentication windows-authentication

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

2 个答案:

答案 0 :(得分:0)

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

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

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

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

我希望这会有所帮助。

答案 1 :(得分:0)

如果你只能扩展你的协议,那么一种方法是编写你传递给NegotiateStream的你自己的Stream类,然后只需获取NegotiateStream给你的消息并放入你自己的协议中并回复NegotiateStream通过您的Stream类。 但是如果可能的话,最简单的方法是将整个协议(Stream)包装在NegotiateStream中......