当前位置: 首页 > 面试题库 >

如何最好地将[Authorize]属性与Ajax和部分视图一起使用?

陶高峻
2023-03-14
问题内容

我正要用于[Authorize]通过Ajax返回部分视图的Action;但我没有得到想要的行为(尽管它是我期望的行为)。

似乎是一个远景;但是,是否有任何方法可以扩展此属性以“爆发”
AJAX调用并将整个页面重定向到登录屏幕?(而不是将登录屏幕返回到我设置了UpdateTargetId的任何位置?)

我想我对如何在每个特定的Ajax调用中做到这一点有所了解,但是如果我可以以某种方式进行集中化,则可以节省很多代码…


问题答案:

AuthorizeAttribute不会为您执行此操作,但是您可以集中代码。创建一个新属性,当当前没有用户登录时,该属性返回http状态代码401(未授权)。在您的site.master引用的JavaScript文件中,处理jQuery
$ .ajaxError事件。在响应状态代码中查找http
401,然后通过JavaScript重定向到您的登录页面。现在,如果当前用户未被授权,则您通过jQuery进行的任何Ajax调用都将在此处结束。



 类似资料:
  • 问题内容: 我检查了这个问题,它解决了我的最初问题。但是我不希望仅当用户单击链接时才显示部分视图,我希望在页面加载时显示部分视图,并且可能在加载部分视图时显示进度指示器。 如何实现? 非常感谢您阅读本文。 问题答案: 如果要加载页面,然后通过ajax加载部分视图,则可以创建一个执行以下操作的对象: 然后在您的页面中执行以下操作:

  • 我正在尝试为java应用程序制作一个表单。它包含一个带有用户列表的组合框。假设我有一个类教授,有3个属性。Id是“唯一的”,这是数据库所必需的。 我认为最用户友好的选项是在组合框中填写“教授”类的姓氏和名字,这就是我所做的。但是现在我不知道如何取回教授对象。 就像我说的,我用姓氏、空格和名字填充了组合框,但是一旦用户选择了教授,我不知道如何选择用户选择的教授。 有什么方法可以在Combobox中放

  • 问题内容: 我在使用Ajax和php时遇到麻烦。我正在尝试做的是调用ajax函数,该函数从表单的输入中获取值,并检查数据库中是否存在该电子邮件。这是我当前的javascript: 不幸的是,我无法戒备。在我的PHP函数中,它检查输入的是用户名还是电子邮件(仅出于我的目的,所以您知道),然后在任一列中查找它。如果找到它,则返回true,否则返回false: 所以我的问题是,ajax如何响应这些返回值

  • 问题内容: 我一直在四处搜寻,但是我不太了解ajax的工作原理。 可否请人解释这是如何工作的? 我正在尝试做的是查看document.getElementsByClassName(current)是否已更改。如果有,它将询问app.py当前的评论和标签,并在不刷新的情况下更新页面。我也不知道该怎么写才能在app.py上收到它。 我将包含我的app.py,但这不是很好。 问题答案: 通常,服务器上的

  • 问题内容: 我在MVC应用程序中有此标记。 当它运行时,IngredientsListControl.ascx在浏览器中显示为新页面,并且不会更新Ingredientlistdiv。 这是我的控制器动作 我在这条线上做对了吗? 这就是我将控件呈现到div中的方式,以便它不会加载新页面。 马尔科姆 问题答案: 使用此功能时: …您应该注意,这与 它不会引发onsubmit事件,并且不会调用MVC的A

  • 问题内容: 我想分享我使用素数,f:viewParam和p:commandButton的经验,并提出一些问题。请看此页面: 支持bean具有不执行任何操作的“ myMethod()”方法。当您进入页面时,它需要“ id_file”参数并将其放在备用bean的idFile属性中。然后单击按钮,然后调用myMethod。然后再次单击,将得到一个模糊的验证错误,并且永远不会调用myMethod: 首先,