ASP.Net MVC防止直接访问RedirectToAction方法中的操作

时间:2016-11-30 11:21:09

标签: c# asp.net asp.net-mvc

我的网站旨在将文件上传到sharepoint文件夹。用户来自另一个系统,使用引用我的站点的按钮,并包含userId和其他参数。当来自我的网站的电话如下所示

http://myapplication/Policy

我使用userId对用户进行身份验证,并使用RedirectToAction方法将用户重定向到http://myapplication/Policy并将一些参数设置为静态属性。由于静态属性,我使用我的参数,但我不想这样做。我希望在用户直接键入org.apache.struts:struts2-core:2.5.5 链接并检测到“您应该仅通过其他系统上的链接来自此站点”之类的错误时检测到该错误。

如何检测用户的这种行为?

1 个答案:

答案 0 :(得分:0)

您可以在第一个tempdata ...

中设置action
TempData["isRedirect"] = true;

由第二个action

读取
if(TempData["isRedirect"] == null)
{
    //Deny access
}

//Set temp data again so that user can refresh
TempData["isRedirect"] = true;