Asp.net mvc 5 HTTPPOST是否可以通过URL访问?

Asp.net mvc 5 HTTPPOST是否可以通过URL访问?,asp.net-mvc-5,Asp.net Mvc 5,例如,假设只有用户X可以创建对象Y public ActionResult Create() { if(User != X) { end; } } [HttpPost] public ActionResult Create(SampleModel Y) { AddtoDB(X); } URL是否可能被占用,从而直接进入HttpPost,从而绕过身份验证?类似localhost123:Controller/Action/?是的,您可以直接发布,而无需先通过

例如,假设只有用户X可以创建对象Y

public ActionResult Create()
{
  if(User != X)
   { 
      end;
   }
} 

[HttpPost]
public ActionResult Create(SampleModel Y)
{
  AddtoDB(X);
} 

URL是否可能被占用,从而直接进入HttpPost,从而绕过身份验证?类似localhost123:Controller/Action/?

是的,您可以直接发布,而无需先通过
HTTPGet
。不要在操作本身中执行身份验证检查,而是使用authorize属性修饰操作并提供roles参数

[Authorize(Roles="CanCreate"]
public ActionResult Create()
{
  ...
}

有时,您需要对让谁参与操作进行更精细的控制,例如用户可以为某些部门创建项目的情况。在这种情况下,您可以编写自定义授权属性,或者只需将其写入操作。

是。您可以使用任何HTTP工具(如cURL)轻松发送POST请求,因此也必须在POST中进行身份验证检查?是的。我已经有一段时间没有做任何.NETMVC了,但是没有安全/认证控制器操作的注释吗?