我有一个关于使用托管的 Blazor WebAssembly ASP.NET Core 在我的 Web 应用程序中进行身份验证的问题。使用的数据库是 Azure SQL。
我想避免在数据库中存储密码,因此用户仅限于拥有 Microsoft 帐户(与项目相关)。
截至目前,用户使用 Azure AD 作为第三方身份验证提供程序登录。当重定向回 Web 应用程序时,会使用仅包含来自 Azure 的电子邮件的声明创建用户。用户被定向到注册页面,其中电子邮件输入设置为当前用户声明电子邮件。当用户单击注册按钮时,提供的信息现在存储在数据库中。
问题是我现在在数据库中有一个用户,但声明仍然只是电子邮件。我希望能够AuthorizeView role
在不同页面上使用标签,因此想知道是否可以使用用户在注册页面中指定的角色来更新声明?该数据此时仅存储在数据库中。
如果这是一种不好的做法,还有其他类似的方法可以使这项工作吗?