是否可以通过URL访问HTTPPOST?

时间:2014-06-06 04:14:58

标签: 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 /?

1 个答案:

答案 0 :(得分:0)

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

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

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