Windows身份验证中的ValidateAntiForgeryToken

时间:2019-03-07 12:54:54

标签: angularjs asp.net-web-api asp.net-web-api2 antiforgerytoken

我们的应用程序使用AngularJS并在后端使用了Web API。这仅是内部应用程序,使用的身份验证仅是“ Windows”模式。我们正在使用自定义授权(基于角色)来限制应用程序Web api方法的访问/执行。

我的问题是,我们是否需要为具有HttpPost和HttpPut属性的Web api操作添加ValidateAntiForgeryToken属性?我以前从未使用过ValidateAntiForgeryToken,因为我只是参与内部Web应用程序(仅限本地Intranet)。请何时 / 如何使用ValidateAntiForgeryToken。

1 个答案:

答案 0 :(得分:1)

ValidateAntiForgeryToken保护您的用户免受恶意Web应用程序的攻击,这些恶意Web App向您的用户未知的Web应用程序发送POST请求,称为CSRF。仍然可以成功执行该请求,因为它来自实际拥有权限的用户。 这与实际的身份验证机制无关,实际上,与Windows身份验证相比,自动单唱的风险更高。

如果您的内部Web应用值得您付出努力,则有针对性的攻击可能会诱骗用户访问攻击者的网站,进而将POST请求发送到您的Web应用。

我认为即使在这种情况下,您也应该使用ValidateAntiForgeryToken作为纵深防御措施。