我想保护我的公共方法由用户调用。
因为我从AJAX脚本中调用的动作,我不能使用任何访问修饰符(私有,保护等)。
此外,[HttpPost]不从做一个假的请求停止用户。
任何人都得到一个解决方案吗?
谢谢
我想保护我的公共方法由用户调用。
因为我从AJAX脚本中调用的动作,我不能使用任何访问修饰符(私有,保护等)。
此外,[HttpPost]不从做一个假的请求停止用户。
任何人都得到一个解决方案吗?
谢谢
创建一个行为过滤器,即可以通过AJAX调用操作方法仅
namespace MyFilters
{
[AttributeUsage(AttributeTargets.Method)]
public class AjaxOnlyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.HttpContext.Response.StatusCode = 404;
filterContext.Result = new HttpNotFoundResult();
}
else
{
base.OnActionExecuting(filterContext);
}
}
}
}
然后,应用此操作方法
[AjaxOnly]
public JsonResult DoSomething()
{
....