【问题标题】:Disable authentication on some pages, only for local network requests在某些页面上禁用身份验证,仅针对本地网络请求
【发布时间】:2016-11-30 12:30:05
【问题描述】:

我想允许本地网络(Intranet)用户无需身份验证即可访问我网站上的特定页面。

我发现我可以在配置文件 (here) 中使用位置标签来执行此操作,但这也将允许互联网用户无需身份验证即可访问该页面。

谢谢

【问题讨论】:

    标签: asp.net .net c#-4.0 iis-express


    【解决方案1】:

    当您谈到位置时,我猜您正在使用 Asp.NET 网络表单

    如何使用 global.asax 事件 AuthenticateRequest, 当用户IP地址不是你的内网时返回403错误?

    protected void Application_AuthenticateRequest(Object sender, EventArgs e)
    {
            // if IP doesn't match, throw a 403 forbidden
    
    }
    

    您也可以在 HttpModule 中实现它,但由于 AuthenticateRequest 是一个内置的应用程序事件,我会坚持使用它

    【讨论】:

      【解决方案2】:

      为用户创建自定义授权,并根据本地 IP 地址允许用户访问该页面,否则重定向到登录页面或 401 页面

      【讨论】:

        猜你喜欢
        • 2015-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-29
        • 1970-01-01
        • 2020-03-30
        • 2011-07-26
        • 2014-03-11
        相关资源
        最近更新 更多