是否有一种非 IIS 方式来验证不使用 HTML 的用户?
我知道我可以为 IIS 创建自己的 ISAPI 过滤器,但我想用 .NET 代码实现同样的事情,而不是将其与 IIS 集成。
现在有没有办法使用最新的 .NET 来做到这一点,还是 ISAPI 仍然可行?
是否有一种非 IIS 方式来验证不使用 HTML 的用户?
我知道我可以为 IIS 创建自己的 ISAPI 过滤器,但我想用 .NET 代码实现同样的事情,而不是将其与 IIS 集成。
现在有没有办法使用最新的 .NET 来做到这一点,还是 ISAPI 仍然可行?
如果要对所有内容应用自定义身份验证,则 IIS 5/6/7 需要 ISAPI 扩展。
Greg 的方式仅适用于 IIS 5/6 上的 ASP.NET 内容。但是,如果您对 IIS 7 的 Integrated Pipeline 功能有很好的了解,您可以配置一个像 Greg 的 ASP.NET HTTP 模块以应用于所有内容。
如果您进一步搜索,MSDN 和 IIS.net 可以为我提供更多详细信息。
您可以使用 anIHttpModule
来执行此类操作,例如
public class AuthModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.AuthenticateRequest += OnAuthenticateRequest;
context.AuthorizeRequest += OnAuthorizeRequest;
}
private static void OnAuthenticateRequest(object sender, EventArgs e)
{
// authenticate the user here...
// (note that the sender argument is an HttpApplication instance)
}
private static void OnAuthorizeRequest(object sender, EventArgs e)
{
// ...then authorize their attempted action here, if needed
}
}