对未经身份验证的用户和 AJAX 调用的不同响应

2023-12-28

我的 ASP MVC (1.0) 网站有一个默认登录页面(基于 OpenId - 但这不应该有什么不同)。当 AuthorizedAttribute 位于操作/控制器上时,它可以正常工作。

不过,我也收到了 AJAX 请求。以下是我对它们所做的事情:

if (Request.IsAjaxRequest())
{ 
  if (Request.IsAuthenticated)
  {
    // Authenticated Ajax request
  }
  else
  {
    // Non-authenticated Ajax request.
    Response.StatusCode = (int)HttpStatusCode.Unauthorized;
    return Json(new { response = "AUTHENTICATION_FAILED" });
   }
}

问题是,如果我将 Response.StatusCode 设置为 Unauthorized,请求将被重定向到我的登录页面,这不利于 Ajax 请求。

对此问题的任何建议表示赞赏。


这是一个常见问题。

Authorize 属性返回 Http 401 Unauthorized 响应。但不幸的是,如果您启用了 FormsAuthentication,则 401 会被 FormsAuthenticationModule 拦截,然后执行重定向到登录页面 - 然后将 Http 200(和登录页面)返回到您的 ajax 请求。

最好的替代方法是修改您的授权代码以返回不同的 Http 状态代码(例如 403),该代码不会被 formsAuthenticationModule 捕获,您可以在 Ajax 方法中捕获。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对未经身份验证的用户和 AJAX 调用的不同响应 的相关文章

  • ASP.NET MVC区域命名空间问题

    我在我的 asp net mvc 3 解决方案中创建一个名为的新区域admin Visual Studio 自动分配名称空间 MyApp areas admin controllers 我将其更改为MyApp admin controlle
  • Javascript“命名空间”和 jQuery AJAX

    我正在使用此处列出的建议 http www odetocode com articles 473 aspx http www odetocode com articles 473 aspx 使用模拟的JavaScript AJAX网络聊天系
  • bootstrap css中垂直对齐缩略图?

    我认为这应该很简单 但我就是无法让它发挥作用 在 ASP NET MVC 中 我有一个如下所示的项目列表 div class row div class span12 ul class thumbnails foreach var film
  • 使用 MVC5、Ajax、C# 和 MSSQL Server 级联 DropdownList

    我对来自 Windows 窗体和三层架构的 MVC 非常陌生 我试图找出使用从数据库填充的级联下拉列表 DDL 我使用 MS SQL Server 2012 VS 2013 目前我正在研究用户调查问卷 用户可以从 DDL 的多个答案中进行选
  • 使用 SimpleMembership 获取用户信息

    仍在尝试使用 MVC4 来掌握新的 SimpleMembership 我更改了模型以包含名字和姓氏 效果很好 我想更改登录时显示的信息 而不是在视图中使用 User Identity Name 我想做类似 User Identity For
  • 在 Rails 4 中使用 AJAX 进行搜索、排序和分页

    我正在尝试进行实时搜索导轨4 0 1应用 我用的是Railscasts 240 教程 http railscasts com episodes 240 search sort paginate with ajax view asciicas
  • 在哪里存储 asp.net mvc 项目的图像以及如何从 site.master 引用它们

    我有一个新的 asp net mvc 项目 我正在尝试找出存储图像的最佳位置 以及如何从 site master 引用它们 如果我有一个标题图像 我想显示在所有页 建议或最佳实践 我通常做的是在我的内容文件夹中创建一个 图像 文件夹 只要保
  • 在页面之间导航时停止主页刷新?

    我在 ASP net 应用程序中使用母版页 在母版页中 我在更新面板中放置了 ContentPlaceHolder 以支持子页面中的 AJAX 问题是如何在页面之间导航时停止刷新 母版页控件 对于我尝试使用的页面之间的导航响应 重定向 窗口
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 当 URL 包含 ASP.Net Core 参数的“+”时出现 404 错误

    当参数包含编码为空格的空格时 我的服务器返回 404 错误 代替 20 我不明白为什么 路线的形式为 Route Search PRM1 prm1 PRM2 prm2 PRM3 prm3 我的第一个问题是如何让服务器理解这种 URL htt
  • 实体框架中的多态性

    具体类 BankAccount and CreditCard 在控制器上不可见 我被这个问题困扰了 我正在使用该网站的示例 http weblogs asp net manavi archive 2010 12 28 inheritance
  • 显示服务器端运行的长进程的状态

    我正在基于 Node js 的 Web 应用程序中进行 CSV 导入 大多数给定的 CSV 文件都有数万条记录 并且需要几分钟的时间 因此 在导入完成之前 我想向用户显示 当前正在导入 消息 我想要创建的内容类似于 Github 的分叉屏幕
  • 在 MVC 2 编辑器模板中正确注册 JavaScript 和 CSS

    如何在 ASP NET MVC 2 RTM 编辑器模板中正确注册 javascript 块 我所处的具体场景是我想使用Dynach JSCal2 日期时间选择器 http www dynarch com projects calendar
  • 在 MVC 3 中,我无法让 @Html.DisplayFor 呈现格式化字符串

    我希望这是一个非常简单的问题 尽管经过大量谷歌搜索后 我还没有能够解决这个问题 我正在使用 MVC 3 开发一个购物车网站 并使用代码优先的实体框架 我发送的模型是 Product 对象的列表 每个对象都包含此属性 Required Err
  • Global.asax 中 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters) 的目的是什么 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我读过类似的问题RegisterGlobalFilters 的目的是什么 https stackoverflow com questi
  • 如何从 jQuery 获取 ajax 请求下载 Excel

    我有一个 Spring MVC 视图 它提供了一个 excel 文件 但是 我现在修改了该过程 以便用户获得一个模式框 他们可以在下载 excel 之前在其中选择一些选项 这些选定的选项将发送到视图 我的请求看起来像这样 get downl
  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML
  • 如何在 MVC Core 中动态选择控制器

    我遇到的情况是 站点可能需要链接来根据数据库结果重定向到某些控制器 例如 site com abcd 需要从项目控制器返回结果 通常称为 item view 123 这里的关键是我不能将 abcd 硬编码到路由中 有些链接可能会转到项目控制
  • jquery mobile loadPage 不工作

    好吧 我做了这个question https stackoverflow com questions 13404462 mobile changepage instead of ajax几天前就填了 但不知道我是否清楚 所以 我现在使用另一
  • ASP.NET MVC 阻止用户直接访问 URL

    因此 我在 MVC 中创建了一个简单的 hello world 作为概念证明 索引视图列出了一些组成的记录 后面是典型的 编辑 详细信息 和 删除 操作链接 但是 根据哪个 AD 组拥有该记录 我不会呈现其中一些选项 举例来说 假设我要提取

随机推荐

  • Rails 3 邮件发送问题

    我正在使用 Rails 3 并实现电子邮件发送功能 我不确定我的配置是否正确 但这是我的代码 邮件程序 user mailer rb class UserMailer lt ActionMailer Base default from gt
  • 组件测试中的角度单击选择选项

    我已尝试以下操作来尝试单击选择下拉列表中的选项 但没有任何效果 selectEl fixture debugElement query By css dropdown selectEl nativeElement options 3 nat
  • 如何使用博主视频作为 iframe(错误 400)

    我有一个网站 我使用博客中托管的视频作为 iframe 代码如下所示 多年来它运行得很好 但目前它显示一条错误消息 Bad Request Error 400 但现在博主需要令牌才能观看博主上托管的视频 链接现在如下所示 https www
  • 如何使用执行选择器在特定时间段后将函数与参数联系起来

    我是这个 iPhone 应用程序编程的新手 我有一个函数 其参数类型作为结构指针 如下所示 void responce structurePtr someData 我想使用调用这个函数performselector method5秒的时间间
  • ES6 模块如何作为 Node 中的脚本运行?

    ES6 模块如何作为 Node 中的脚本运行 当我尝试这个 shebang 时 我收到一个错误 usr bin env node experimental modules usr bin env node experimental modu
  • 暂停线程的执行而不休眠?

    我正在使用 Skype API 它每次收到一条消息都会发回一条消息 我不确定这是否真的is是什么原因造成的 但这是我能得到的最接近的结果 当我发送太多消息时 COM 控件无法处理所有回复 这会导致整个应用程序崩溃 当我使用时会发生这种情况f
  • 为什么 Silverlight 不处理我的自定义浮点属性的转换

    在 Silverlight 4 项目中 我有一个扩展 Canvas 的类 public class AppendageCanvas Canvas public float Friction get set public float Rest
  • 如何计算 pandas 中事件之间的时间

    原始问题 我陷入了以下问题 我试图找出车辆在工厂存放的具体时间和时间 我有一个 Excel 工作表 其中存储了所有事件 这些事件要么是交付路线 要么是维护事件 最终目标是获得一个数据帧 其中给出了车辆登记号以及相应的到达工厂和在那里花费的时
  • GWT - DialogBox.center() 无法正常工作

    我的页面上有一个带有按钮的表格 按钮太多了 我有一个滚动条可以向下滚动表格 按钮 onClick 生成一个对话框 其中包含滚动面板 内容和用于关闭该对话框的按钮 我使用 DialogBox center 将其居中 当我按下表格中的第一个按钮
  • 如何将模拟器连接到 laravel 服务器 localhost:8000

    当我的 Android 应用程序使用 10 0 0 2 8080 连接到 wampserver 中的项目时 我可以连接到 localhost 8080 但我使用 laravel 并且我的 Web 服务位于 localhost 8000 我想
  • Bootstrap 响应式附加菜单

    我想要一个固定菜单 如引导文档 http twitter github com bootstrap base css html 与引导文档上一样 它没有贴在手机上 我有以下代码 div class container div class r
  • 为什么我应该将实现的接口方法声明为“公共”?

    interface Rideable String getGait public class Camel implements Rideable int weight 2 String getGait return mph lope voi
  • 如何在 Windows 10 Powershell 上使用 npm 脚本递归复制整个目录?

    如何在 Windows 10 Powershell 上使用 npm 脚本递归复制整个目录 现在我有以下树 test 1 package json 2 src asd txt asd asd Copy 2 txt asd Copy txt a
  • 如何从通过 Javascript 加载的页面上 __scrape__ 数据

    我想使用 beautifulsoup 刮掉此页面上的评论 https www x s com video id the suburl 评论通过 JavaScript 在点击时加载 评论是分页的 每个页面也会在点击时加载评论 我希望获取所有评
  • Eclipse 的选项卡双击 Visual Studio?

    在 Eclipse 上 每当我双击选项卡时 它就会填充工作区 通过隐藏所有其他视图 如项目树 控制台等 有没有办法在 Visual Studio 上做到这一点 注意 我不是在寻找全屏 只是想要一种整理工作区但仍然可以访问菜单的方法 你在追寻
  • 训练过程中GAN结果图像是相同的

    我正在尝试在 MNIST 数据集上训练 GAN 该代码现在的训练结果好坏参半 问题似乎是生成的图像实际上都是相同的 您可以在下面找到我的完整代码 我尝试环顾四周 看看是否有解决方案 我发现唯一提到的使用randn代替rand但我没有使用ra
  • Summernote 显示已上传到文件夹的图像

    我正在使用非常好的 Summernote 编辑器来构建一个小型网络应用程序 我没有使用图像的默认内联 base64 代码 而是将图像存储在文件夹中 我让那部分按预期工作 我可以单击 图像 图标并选择一个图像 它会以其原始类型 jpg png
  • 如何在网站上嵌入Python解释器

    我正在尝试建立一个教育编码网站 类似于代码学院 http www codecademy com 但坦率地说 我不知道应该采取什么步骤 我能否指出正确的方向 在 web 应用程序中包含一个简单的 python 解释器 一种选择可能是使用 Py
  • 调试时模拟 argparse 命令行参数输入

    该线程是上一个线程的扩展 可以找到here https stackoverflow com questions 50881403 debugging argpars in python 比如说 我有一个代码有两个用途 1 从整数列表中打印最
  • 对未经身份验证的用户和 AJAX 调用的不同响应

    我的 ASP MVC 1 0 网站有一个默认登录页面 基于 OpenId 但这不应该有什么不同 当 AuthorizedAttribute 位于操作 控制器上时 它可以正常工作 不过 我也收到了 AJAX 请求 以下是我对它们所做的事情 i