是否存在非IIS方式对不使用HTML的用户进行身份验证?
我知道我可以为IIS创建自己的ISAPI过滤器,但我希望使用.NET代码实现相同的功能,而不是将其与IIS集成。
现在是否有办法使用最新的.NET,或ISAPI仍然是要走的路?
答案 0 :(得分:1)
如果要对所有内容应用自定义身份验证,则IIS 5/6/7需要ISAPI扩展。
Greg的方式仅适用于IIS 5/6上的ASP.NET内容。但是,如果您很好地理解IIS 7的集成管道功能,则可以将像Greg这样的ASP.NET HTTP模块配置为应用于所有内容。
如果进一步搜索,MSDN和IIS.net可以为我提供更多详细信息。
答案 1 :(得分:0)
您可以使用IHttpModule
来执行此类操作,例如
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
}
}