基于HttpListener的自托管站点 - 如何处理身份验证?

时间:2011-10-28 18:03:41

标签: c# .net security httplistener self-hosting

如果要围绕HttpListener构建自托管网页,您如何以安全的方式处理身份验证?我不想使用基本身份验证,因为它将凭据作为明文传递。我知道摘要是另一种选择,

        listener = new HttpListener();
        listener.Prefixes.Add(url);
        listener.AuthenticationSchemes = AuthenticationSchemes.Digest; 
        listener.Start();

它是否足够安全以及实际获取用户名/密码并对其进行身份验证的标准/最佳做法是什么?

在这种情况下,默认情况下没有web.config或托管环境。

2 个答案:

答案 0 :(得分:2)

使用HttpListener进行身份验证意味着让Windows使用其内置身份验证系统(即ActiveDirectory)为您进行身份验证。这意味着,对于摘要式身份验证,您需要为用户创建域帐户。这是你想要的吗?如果您想进行自己的自定义身份验证,那就更复杂了。除非你说那是你想要做的事情,否则我不会讨论如何做到这一点。

答案 1 :(得分:1)

我会考虑实施对基于索赔的安全性的支持。您必须处理安全令牌,但实际的用户身份验证可以“外包”给外部身份提供商。

您可能可以利用Windows Identity Foundation(WIF)来处理大部分工作。