我们的应用程序使用AngularJS并在后端使用了Web API。这仅是内部应用程序,使用的身份验证仅是“ Windows”模式。我们正在使用自定义授权(基于角色)来限制应用程序Web api方法的访问/执行。
我的问题是,我们是否需要为具有HttpPost和HttpPut属性的Web api操作添加ValidateAntiForgeryToken属性?我以前从未使用过ValidateAntiForgeryToken,因为我只是参与内部Web应用程序(仅限本地Intranet)。请何时 / 如何使用ValidateAntiForgeryToken。
答案 0 :(得分:1)
ValidateAntiForgeryToken
保护您的用户免受恶意Web应用程序的攻击,这些恶意Web App向您的用户未知的Web应用程序发送POST请求,称为CSRF。仍然可以成功执行该请求,因为它来自实际拥有权限的用户。
这与实际的身份验证机制无关,实际上,与Windows身份验证相比,自动单唱的风险更高。
如果您的内部Web应用值得您付出努力,则有针对性的攻击可能会诱骗用户访问攻击者的网站,进而将POST请求发送到您的Web应用。
我认为即使在这种情况下,您也应该使用ValidateAntiForgeryToken作为纵深防御措施。