例如,假设只有用户X可以创建对象Y.
public ActionResult Create()
{
if(User != X)
{
end;
}
}
[HttpPost]
public ActionResult Create(SampleModel Y)
{
AddtoDB(X);
}
是否可以占用URL直接进入HttpPost,从而绕过身份验证?类似localhost123:Controller / Action /?
答案 0 :(得分:0)
是的,您可以直接发布,而无需先通过HTTPGet
。不要在操作本身中进行身份验证检查,而是使用authorize属性修饰操作并提供角色参数
[Authorize(Roles="CanCreate"]
public ActionResult Create()
{
...
}
有时候,您需要对操作员进行更细致的控制,例如用户可以为某些部门创建项目的情况。在这种情况下,您可以编写自定义授权属性,或者只是将其写入操作。