【发布时间】:2020-05-12 12:40:58
【问题描述】:
我有一个 MVC Web 应用程序。
例如有如下控制器:
public class MyController
{
public MyController()
{ ... }
[HttpGet]
public ActionResult Index()
{ ... }
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult UpdateMethod(string parameter)
{ ... }
}
现在出现以下情况:
用户打开更新表单并输入值。他等了一会儿,然后提交表格。
方法“UpdateMethod”应该被称为POST。但由于等待时间过长,cookie 或会话已过期,ADFS 正在注销用户,然后自动登录。登录后再次调用(由 ADFS 重定向)“UpdateMethod”,但现在为 获取。所以参数值丢失并出现错误,因为该方法不存在[HttpGet]:
“在控制器上未找到公共操作方法 'UpdateMethod'”
如果我使用 [HttpGet] 添加类似的方法,我可以处理这种情况。但我不想为每个方法添加一个 HttpGet。
[HttpGet]
public void UpdateMethod()
{ ... }
那么应对这种情况的最佳方法是什么?
【问题讨论】:
标签: asp.net-mvc redirect controller active-directory adfs