我可以重用内置的IIS身份验证,但提供自己的凭据检查吗?

时间:2011-02-14 06:28:46

标签: c# .net asp.net security iis

我想对非Windows帐户使用内置IIS身份验证。有this module that does that for basic authentication,但它实际上同时进行身份验证和凭据检查。

问题是我还需要支持摘要身份验证,我可以尝试这样做,但这会很麻烦 - 我需要安全地生成挑战(“nonces”),存储它们并检查重放等 - 很多事我搞砸了,让坚定的攻击者高兴。

所以我更喜欢在IIS中重用摘要式身份验证功能,但是使用我自己的模块进行凭据验证。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

不幸的是,没有现成的解决方案。要使用IIS内置摘要式身份验证,您必须选择“表单”,这不是您想要的。

一种可能的解决方案是在IIS中使用匿名身份验证,并编写一个http模块来处理身份验证和授权。

codeproject上有一些现有代码,您可能需要查看。

答案 1 :(得分:0)

您可以尝试一种名为“ASP.NET Membership”的东西。 唯一的缺点是你必须使用“表单身份验证”。

基本概念在这里

如果您不想使用ASP.NET的默认提供程序(例如SQL Server),您甚至可以编写“自定义成员资格提供程序”