Asp.net mvc 4 阻止用户直接从URL访问页面,但也应允许MVC中的特定URL

Asp.net mvc 4 阻止用户直接从URL访问页面,但也应允许MVC中的特定URL,asp.net-mvc-4,url,model-view-controller,web-config,Asp.net Mvc 4,Url,Model View Controller,Web Config,我们正在开发一个MVC应用程序,我们希望阻止任何临时用户直接访问任何特定的url并重定向到主页,我们可以通过以下代码实现这一点 string url = Request.Url.GetLeftPart(UriPartial.Authority)+"/Area/Controller/Home"; if ((Request.UrlReferrer == null) && (Request.Url.ToString().ToLower() != url.ToLower())) {

我们正在开发一个MVC应用程序,我们希望阻止任何临时用户直接访问任何特定的url并重定向到主页,我们可以通过以下代码实现这一点

string url = Request.Url.GetLeftPart(UriPartial.Authority)+"/Area/Controller/Home";

if ((Request.UrlReferrer == null) && (Request.Url.ToString().ToLower() != url.ToLower()))
{                
    Response.Redirect(url);
}
但同时,我们希望允许一些基本上发送给用户进行验证的URL继续到该页面

我有一个方法是:

  • 将豁免的URL放在web.config文件中
  • 在主控制器中为每个URL设置if-else条件,然后将用户重定向到特定页面

  • 让我知道是否有其他好的方法可以做到这一点。

    临时用户您是指匿名用户吗?若要阻止匿名用户访问任何操作,只需使用Authorize属性即可。这对您不起作用吗?不,例如,主页的url是Controller\Home\从那里,用户将转到\Home\SecondPage。因此,现在如果用户直接点击\Home\SecondPage,他应该被重定向到Controller\Home\