URL 级别的自定义身份验证,仍将 ISAPI 与 .NET 一起使用还是有新方法?

发布于 2024-07-13 01:54:26 字数 165 浏览 4 评论 0原文

是否有一种不使用 HTML 的非 IIS 方式来验证用户身份?

我知道我可以为 IIS 创建自己的 ISAPI 过滤器,但我想使用 .NET 代码实现同样的目标,而不是将其与 IIS 集成。

现在有没有办法使用最新的.NET 来做到这一点,或者ISAPI 仍然是可行的方法吗?

Is there a non-IIS way of authenticating users that is not with HTML?

I know I can create my own ISAPI filter for IIS, but I want to achieve the same thing, with .NET code and not integrate it with IIS.

Is there a way to do this now, with the latest .NET, or is ISAPI still the way to go?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷清清 2024-07-20 01:54:27

如果您想对所有内容应用自定义身份验证,则 IIS 5/6/7 需要 ISAPI 扩展。

Greg 的方法仅适用于 IIS 5/6 上的 ASP.NET 内容。 但是,如果您很好地了解 IIS 7 的集成管道功能,则可以配置像 Greg 那样的 ASP.NET HTTP 模块以应用于所有内容。

如果您进一步搜索,MSDN 和 IIS.net 可以为我提供更多详细信息。

If you want to apply your custom authentication for all contents, an ISAPI extension is required for IIS 5/6/7.

Greg's way only works for ASP.NET content on IIS 5/6. However, if you understand the Integrated Pipeline feature of IIS 7 well, you can configure an ASP.NET HTTP module like Greg's to apply to all contents.

MSDN and IIS.net can provide me more details if you do a search further.

一张白纸 2024-07-20 01:54:27

您可以使用 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
    }
}

You can use an IHttpModule to do this type of thing, e.g.

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
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文