我想让我的ASP.NET MVC 3 Web应用程序仅在特定的主机名或IP地址上运行。如果有人试图在不同的主机或IP地址上托管该站点,该网站应该停止工作,因为它看到的主机名/ IP地址不同于配置(基本上,在应用程序DLL中硬编码)。
知道在ASP.NET MVC中如何有效地实现这一点吗?
答案 0 :(得分:1)
使用HTTP Module过滤请求。
答案 1 :(得分:1)
在Global.asax文件中创建新的BeginRequest函数:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
if (application.Request.Url.Host != "mydomain.com")
{
application.CompleteRequest();
}
}
答案 2 :(得分:0)
实现它的另一种方法 正在创建一个动作属性来验证该请求:P
public class HostValidatorAttribute : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
{
//validate here and returns true if valid
}
}