Blazor 9 WASM登出时抛出AntiforgeryValidationException问题求助
问题原因分析
请求方式不匹配:Blazor独立账户模板的
Account/Logout端点默认要求通过POST请求提交,并携带 antiforgery 令牌验证。如果你的登出链接是用普通导航(如NavLink)触发的GET请求,就会因为没有提交表单令牌(__RequestVerificationToken)而触发验证异常。全局WebAssembly交互模式下的令牌传递问题:启用全局WebAssembly交互后,前端WASM应用与服务器端的身份验证交互逻辑需要确保令牌正确传递。模板默认的登出逻辑会生成包含 antiforgery 令牌的表单,但如果自定义修改(哪怕只是替换EF为InMemory)过程中,意外改动了登出组件的渲染逻辑,导致表单未正确生成或提交方式错误,就会出现令牌缺失。
InMemory EF的间接影响:虽然替换为InMemory EF本身不会直接导致antiforgery问题,但如果在修改过程中,误删或注释了服务器端与antiforgery相关的配置(比如
AddAntiforgery服务注册),或者破坏了令牌的存储/验证链路(比如InMemory存储的会话数据未正确维护令牌),也可能引发该异常。不过这种情况概率较低,核心还是请求方式和令牌传递的问题。
内容的提问来源于stack exchange,提问作者MikeT
相关产品推荐
相关产品推荐

