【发布时间】:2021-09-07 21:09:58
【问题描述】:
我已经使用 asp.net 身份框架为我的用户和角色构建了一个带有 efcore 的数据库,并稍作修改。我希望用户连接到我的站点并能够使用存储在数据库中的凭据登录。当我在 IIS 上托管我的 Blazor 服务器应用程序时,我的自定义登录页面会显示并允许用户输入凭据。但是,身份验证时,httpcontext“用户”为空。当我通过 Visual Studio 加载应用程序时,应用程序显然运行良好,问题似乎只是 IIS 身份验证。
【问题讨论】:
-
您应该检查您在 IIS 中为您的站点配置的身份验证模式。默认情况下,某些模式未启用。您需要确保您使用的模式在您的 IIS 中已启用且可用。
-
你需要关闭匿名认证,开启windows认证。
-
我在这里遇到的问题是我使用用户的电子邮件地址进行帐户登录。他们的 Windows 帐户不保存此信息。
-
能否给出登录功能和获取用户的代码?
-
我能够使用匿名身份验证且无需冒充来完成这项工作。解决方案是从 HTTPContext 中删除我对用户的调用,并从 AuthenticationStateProvider 中获取用户。感谢大家的帮助!
标签: c# iis asp.net-identity blazor-server-side httpcontext