Hi @929Free,
通过您之前发布的帖子,我们大概清楚您使用的是.NET9 服务器交互类型的Blazor Web App项目。 但是就AuthenticationStateProvider相关的刷新后验证失败的问题,我们还是缺少很多的详细信息的,如果是如何进行登录的,使用的什么身份验证策略。
但是没有关系,这是一个比较经典的问题。常见的原因是我们不能在服务器交互式渲染模式中使用 SignInAsync
,因为 HttpContext
将为Null。微软也建议不要使用 HttpContext。
具体的详细操作步骤,你可以参考此官方的帖子链接:How to maintain Authentication State with Blazor 8 Server Interactive? 在我们的工程师与帖子发布者的聊天后,最终找到了详细的解决方案,我们已经测试过有效,你可以参照并进行解决。
如果其身份验证方式与您的不同,或者您用了其他的身份验证方式,我们非常欢迎您创建全新的示例项目并可以复现问题。 我将会为您进行调试,以查看context.User.Identity!.IsAuthenticated
中到底哪一步丢失了身份信息。
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他问题,请点击“评论”。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们的 文档 中的步骤启用电子邮件通知。
Best Regards
Jason