加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

覆盖单个页面的ASP.NET表单身份验证

发布时间:2020-12-16 03:32:13 所属栏目:asp.Net 来源:网络整理
导读:在我们的ASP.NET MVC应用程序中,我们通过 authentication自动将用户重定向到登录页面. system.web的部分当他们试图访问授权专用页面时.问题是应用程序中间的一个操作(设计为由工具使用)需要在错误访问时返回直接的HTTP 401响应.如何在没有针对此特定操作的重
在我们的ASP.NET MVC应用程序中,我们通过< authentication>自动将用户重定向到登录页面. < system.web>的部分当他们试图访问授权专用页面时.问题是应用程序中间的一个操作(设计为由工具使用)需要在错误访问时返回直接的HTTP 401响应.如何在没有针对此特定操作的重定向的情况下返回真正的HTTP 401代码?

解决方法

以下解决方案有效,但我不确定它是否是最佳的:

public class HttpAuthenticationRequiredResult : ActionResult
{
    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.HttpContext.Response;
        response.StatusCode = 401;
        response.AddHeader("WWW-Authenticate","Basic realm="whatever"");
        response.Flush();
        response.Close();
    }
}

然后,您可以返回上述结果而不是HttpUnauthorizedResult来生成所需的401代码.然而,这对我来说非常麻烦.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读