例如,假设只有用户X可以创建对象Y。
public ActionResult Create()
{
if(User != X)
{
end;
}
}
[HttpPost]
public ActionResult Create(SampleModel Y)
{
AddtoDB(X);
}
URL是否有可能被占用而直接进入HttpPost从而绕过身份验证?像localhost123:Controller / Action /?
是的,您可以直接发布,而无需HTTPGet
先经过。不用在动作本身中进行身份验证检查,而是用authorize属性装饰您的动作并提供role参数
[Authorize(Roles="CanCreate"]
public ActionResult Create()
{
...
}
有时,您需要对要让谁参与其中的行为进行更精细的控制,例如,用户可以为某些部门创建项目。在这种情况下,您可以编写自定义授权属性,也可以将其简单地写入操作中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句