【发布时间】:2021-02-06 17:27:32
【问题描述】:
我的控制器中有这个方法:
public async Task<string> AjaxMethod()
{
//some codes
var jsonResults = JsonConvert.SerializeObject(results);
return jsonResults;
}
我对此方法进行了 ajax 调用,它的工作原理符合我的预期。
我意识到当我通过 url(如 localhost:50000/Controller/AjaxMethod)访问此方法时,它会在 Web 浏览器上显示所有数据,我不想要这个。
防止此问题的最佳方法是什么?
附加信息:我正在使用 asp.net 身份,而我的控制器顶部有 [AutoValidateAntiforgeryToken] 属性。
【问题讨论】:
-
您无法阻止这种情况,未经授权的操作不应暴露敏感数据,如果您希望返回不应被任何人查看的数据,请使用
Authorize装饰您的操作属性并应用适当的角色。
标签: ajax asp.net-mvc asp.net-core