.NET C#:如何在 AJAX 调用期间处理表单身份验证过期

2023-12-31

对于上下文,我在 web.config 中设置了表单身份验证超时值,并且正在使用 ASP.NET MVC 1。我认为将我的问题表述为 2 个用例可能是最简单的 - 第一个用例是在没有身份验证的情况下发生的情况超时,第二个是身份验证超时会发生什么:

正常情况:

用户登录应用程序,身份验证计时器开始计时。当身份验证期限仍然有效时,用户单击页面上的某些内容会触发 AJAX 调用(通过 jQuery)。我们访问服务器,处理请求,并将部分视图返回给用户(作为ActionResult)。 html 作为 ajax 成功方法的字符串传递,我将这个 html 注入到页面上的 div 中。这都是预料之中的。

超时案例:

用户登录应用程序,身份验证计时器开始计时。后x时间量,验证期限到期。随着过期时间的推移,用户单击页面上的某些内容会触发 AJAX 调用(使用 jQuery)。我们访问了服务器,但身份验证票证已过期。 .NET 自动重定向到loginURL在设置超时期限的同一 web.config 元素中定义的值。对我来说,此页面是登录页面,要求用户输入用户名/密码进行登录。所以Home/Login控制器操作运行,并最终将完整(非部分)视图作为 html 字符串返回给 ajax 的 success 方法。这会导致页面崩溃,因为我试图获取整个页面的 html(带有<html>标签和所有)并将其注入到页面上的 div 中。

这就是我的问题所在。当身份验证期限到期时,.NET 将我重定向到登录页面,我最终将整个页面的 html 返回到 ajax 成功方法。当然,当服务器点击不是 AJAX 调用时,一切都会正常工作——它会正常重定向到登录页面。但我该如何处理这个案子呢?有人有什么想法吗?

Thanks.


因此,当票证过期时,将执行帐户/登录操作

public Action Login()
{
   if(Request.IsAjaxRequest())
   return Content(@"<meta http-equiv="refresh" content="1" />");
   //if it is ajax request the div will be filled with this meta tag which will refresh the page


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

.NET C#:如何在 AJAX 调用期间处理表单身份验证过期 的相关文章

  • 从另一名 Razor 助手中调用另一名 Razor 助手

    我需要创建 Razor 助手的第二个重载 并希望从另一个助手调用一个助手 使用一些特定参数 有没有办法实现呢 Sure using System Web Mvc using System Web Mvc Html public static
  • 如何制作将 HTML 文件加载到 div 中的 XMLHttpRequest?

    我正在尝试做一个XMLHttpRequest从外部文件加载 HTML 并将文件内容插入到div 当我运行该函数时 它会在所有正文中插入 HTML 这是不够的 My code gt HTML
  • 使用 AJAX 调用生成 PDF 文件

    我正在尝试使用 Rails3 中的 AJAX 调用生成 PDF 文件 以下代码生成一个我使用 PRAWN gem 创建的 PDF 文件 我不希望用户在订购之前查看 PDF 因此 目标是在服务器中创建 PDF 文件 非常感谢任何想法或想法 使
  • 使用ajax请求秒更新进度条

    基本上 我正在对外部登录系统执行 AJAX 请求 如何根据请求的长度更新进度条 例如 请求的时间介于1 30s to 1 40s要完成 我怎样才能根据一定的时间间隔更新进度条 比如每 10 毫秒更新 10 之类的 这是进度条的 HTML 布
  • 当变量更新时动态刷新模板的一部分golang

    在Golang中 当变量更新时可以刷新模板的一部分吗 例如 我们可以在 Angular js 中找到这一点 基本上在我的代码中 我通过 ajax 中的邮政编码查找地址 它显示我找到的该邮政编码的用户列表 Here is a sample o
  • ASP.NET MVC 2 Preview 2 - 显示目录列表而不是 home/index

    我只是下载 ASP NET MVC 2 Preview 2 创建一个新项目并运行它 但为什么它显示目录列表而不是默认页面 我使用的是 VS2008 SP1 并安装了 ASP NET MVC 1 右键单击该项目并选择特性 在下面web设置开始
  • ajax 请求中的 laravel TokenMismatchException

    我正在使用资源组并使用此过滤器来解析TokenMismatchException问题 Route filter csrf function route request if strtoupper request gt getMethod G
  • 如何使用 Autofac 为 MVC 3 进行动作注入?

    我正在创建一个 ASP NET MVC 3 应用程序 尝试利用控制器操作注入 如上所述here http alexmg com post 2010 05 16 Introducing Action Injection with Autofa
  • 如何控制 Orchard 中菜单的呈现

    我有以下问题 我正在果园制作一个网站 并且必须应用一些设计公司制作的设计 他们提供了 html 和 CSS LESS 我必须把它变成一个主题 除了菜单之外 大部分内容我都完成了 我想申请一个课程nav标签在下面的代码中 但我无法为最终渲染它
  • GWT 的 RPC 与 AJAX 不同吗?

    与 AJAX 调用相比 GWT Google Web Toolkit 的 RPC 远程过程调用 用于从浏览器 javascript 到服务器的异步操作有何不同或相似 如果它们不同 有人可以帮助我理解它们有何不同吗 我还听说这个 RPC 实现
  • 如何防止点击 时页面刷新

    我试图在用户单击时阻止页面刷新
  • C# 中方法的时间限制

    我有一个游戏框架 其中有一个实现 IBotInterface 的机器人列表 这些机器人是由用户定制的 唯一的限制是它们必须实现接口 然后游戏会调用机器人中的方法 希望是并行的 来处理各种事件 例如 yourTurn 和 roundStart
  • 在 Django 中 AJAX 发布后重定向

    我使用 Django 的内置 DeleteView 并为success url属性 现在在我的模板中 我通过 JQuery 的 post 方法触发此视图 当该项目被删除时 我不会被重定向到success url 经过一番查找 发现好像是AJ
  • ASP.NET MVC4 中自定义移动显示模式和桌面模式之间的切换

    我想创建切换到完整站点链接并切换到移动链接 我不想通过使用会话变量强制它转到它们中的任何一个 我想知道是否可以使用 ViewSwitcher Controller 自动执行此操作 这是我用于自定义移动显示模式的内容 public class
  • 在asp.net mvc中如何知道请求是否是ajax?

    有人我怎么知道请求是否是ajax 我使用 jquery 进行 ajax 还有Request IsAjaxRequest如果您使用的是更高版本的 MVC 我不再有版本 1 所以我不能说它是否在版本 1 中 如果您需要在 Global asax
  • ASP.NET MVC 如何确定电子邮件是否未到达收件人

    在我的网络应用程序中 包含凭据信息的电子邮件会发送给每个新注册的用户 由于某种原因 Hotmail 和其他一些邮件提供商根本不接受这些电子邮件 顺便说一句 我通过 hMailServer 发送 也许你知道如何解决这个问题 它们既不在垃圾邮件
  • 如何在 Nhibernate 中进行版本控制?

    我不敢相信让别人向我展示一个简单的工作示例是如此困难 这让我相信每个人都只能说得好像他们知道如何去做 但实际上他们并不知道 我将帖子缩短为仅我想要示例执行的操作 也许帖子太长了 吓跑了人们 为了获得这个赏金 我正在寻找一个可以在 VS 20
  • Mac OS X 上的 ASP.NET MVC 5

    我想了解如何在运行 OS X 10 10 5 的 Mac 上使用 Microsoft ASP NET 框架构建网站 我将跟随一个使用 ASP NET MVC 5 的在线课程 到目前为止我读过的所有教程都说要使用Homebrew http b
  • 如何使用 jquery 在 ajax 调用中设置标头

    我需要从我自己的应用程序调用 Office 365 Rest API 当我在同一浏览器会话上复制并粘贴 url 时 我可以看到一些 XML 如果我将该 URL 粘贴到隐身窗口中 则会收到以下错误 The custom error modul
  • 使用 Python 从基于 AJAX 的网站提取信息

    我正在尝试使用 Python 检索基于 ajax 的网站 例如 www snapbird org 上的查询结果 由于它没有显示在页面源中 我不确定如何继续 我是一个Python新手 因此如果我能得到一个指向正确方向的指针那就太好了 如果更容

随机推荐

  • WinForms:在设计器中将自定义 ToolStripMenuItem 添加到 MenuStrip

    在 Windows 窗体中如果我创建一个继承自的自定义控件ToolStripMenuItem有没有办法添加这个CustomToolStripMenuItem to MenuStrip来自设计师还是我必须通过代码来完成 自从ToolStrip
  • Scipy 中使用 NaN 值进行 T 检验

    我在 scipy 中进行 t 检验时遇到问题 这让我慢慢发疯 它应该很容易解决 但我所做的一切都不起作用 并且通过广泛的搜索也找不到解决方案 我在最新的 Anaconda 发行版上使用 Spyder 具体来说 我想比较从 csv 文件导入的
  • 在 C 中的循环/IF 结构之外声明变量

    我是 C 语言新手 总体来说是编程新手 我想知道为什么当我在结构外部的 if 语句中声明要使用的变量时 我收到的输出不正确 无论如何对于这段代码 这是我的代码 include
  • 从 URL 下载图像并将其保存到内部存储器的最佳方法

    我正在开发一个应用程序 我想从 URL 下载图像 我需要立即下载这些图像并将其存储到内部存储器中 有超过200张图片可供下载 请告诉我在尽可能短的时间内下载这些图像的最佳方法 如果有任何第三方库可用 请告知 考虑使用毕加索来达到您的目的 我
  • C# 线程对象生命周期

    假设我有一段代码如下 int Main if true new Thread gt doSomeLengthyOperation Start while true do nothing 有 2 个线程 我将把正在执行 Main 函数的线程称
  • Docker 在构建镜像时无法删除文件

    我的 DockerFile 包含以下指令 rm f plugins 7z 此命令在早期版本的 docker 中按预期工作 但在版本 1 13 中失败 我看到错误 cannot access plugins 7z No such file o
  • ASP.NET MVC 区域内样式表中的相对路径

    我有一个当前结构的项目 My Project Content Controller View Model Areas Area1 View Controller Model Area2 View Controller Model 所有区域视
  • 了解 Prolog 列表

    我试图理解 Prolog 列表 以及如何在递归函数末尾 返回 实例化值 我正在看这个简单的例子 val and remainder X X Xs Xs val and remainder X Y Ys Y R val and remaind
  • 如何仅恢复 SVN 工作副本中的目录?

    我想恢复一个目录及所有子目录在 SVN 工作副本中 因此它们与存储库匹配 但我不想碰任何文件在这些目录中 我的一个 SVN 应用程序在工作副本中的每个目录上递归地设置 SVN 属性 但我想恢复这些更改以阻止它突出显示它们并尝试将更改提交到
  • 有没有办法获取装饰器包装的函数?

    假设我有 someDecorator def func this function does something print 1 现在 对象func是一个实例someDecorator 有什么方法可以访问它所拥有的功能 即类似的东西func
  • 如何将列表转换为JavaRDD

    我们知道spark中有一个方法rdd collect 它可以将RDD转换为列表 List
  • Angular JS 中的条件 ng 模式

    有没有办法在 AngularJS 中实现条件 ng pattern ng pattern myForm exipration dirty d 2 d 4 我像上面那样尝试过 但没有帮助 Markup
  • 如何在某个索引处用不同颜色标记水平进度条,就像Android中的Youtube视频黄色广告标记一样

    在我当前的应用程序中 需要创建自定义视频播放器 特殊要求是在某个给定的时间索引显示或标记不同颜色的视频进度条 就像 Youtube 用黄色标记其视频以指示其视频上的广告一样进度条 为了更清楚 请检查下面的屏幕截图 此时 我已经使用 Vide
  • R 中数据帧的条件和

    我想组合数据帧并根据其中一个数据帧的值有条件地计算它们的总和 对于下面的示例 如果单元格位于df4不是 0 也不是 NA 总和应该是df3 df4否则总和应该是df1 df2 df3 gt df1 1 2 3 A 0 3 2 B 1 1 0
  • 解析推送 - 如何在 Android 上接收推送时自动打开活动,无需用户操作

    我有一个要求 android 当收到推送通知时 我的应用程序应该自动运行其主要活动 而无需用户单击系统托盘中的通知 我有一张显示当前位置的地图 但在推送中 我将收到一个位置 并且我需要在主要活动中使用我的地图在接收推送时将相机移动到当前接收
  • 从 python 中的 stdin 读取时管道文件描述符错误

    重复的this https stackoverflow com questions 466801 python piping on windows why does this not work问题 投票结束 在 Windows 命令行中考虑
  • Django Rest Framework - 未提供身份验证凭据

    我正在使用 Django Rest Framework 开发一个 API 我正在尝试列出或创建一个 订单 对象 但是当我尝试访问控制台时出现以下错误 detail Authentication credentials were not pr
  • 获取最高分配的文件描述符

    是否有一种可移植的方法 POSIX 来获取当前进程的最高分配文件描述符编号 例如 我知道有一种很好的方法可以获取 AIX 上的号码 但我正在寻找一种可移植的方法 我问的原因是我想关闭所有打开的文件描述符 我的程序是一个以 root 身份运行
  • 在 xib 的自定义单元上设置 IBAction?

    我在 xib 中创建了一个自定义单元格 在 iOS 6 中使用 Storyboard 但为单元格创建了单独的 xib 现在我尝试将扬声器按钮连接到 UITableViewController 子类中的 IBAction 我在 viewDid
  • .NET C#:如何在 AJAX 调用期间处理表单身份验证过期

    对于上下文 我在 web config 中设置了表单身份验证超时值 并且正在使用 ASP NET MVC 1 我认为将我的问题表述为 2 个用例可能是最简单的 第一个用例是在没有身份验证的情况下发生的情况超时 第二个是身份验证超时会发生什么