Asp.net core 在.Net Core 5.0中忘记了密码

Asp.net core 在.Net Core 5.0中忘记了密码,asp.net-core,authentication,authorization,claims-based-identity,claims,Asp.net Core,Authentication,Authorization,Claims Based Identity,Claims,我的登录和注册方法运行良好,当用户尝试登录或注销时,我使用声明。 我看到了很多关于ForgotMyPassword页面的例子,但都是使用 private readonly UserManager\u UserManager基于Microsoft.AspNetCore.Identity。不使用UserManager ?? 我要求Claim基于身份验证和授权是我在项目中需要的。 我可以同时使用它们吗?如果可以,我怎么做? 如果有人能清楚地解释一下,那就太好了。当用户注册时,他们的信息会被添加到数据库

我的登录和注册方法运行良好,当用户尝试登录或注销时,我使用
声明
。 我看到了很多关于ForgotMyPassword页面的例子,但都是使用
private readonly UserManager\u UserManager
基于
Microsoft.AspNetCore.Identity。不使用
UserManager
?? 我要求
Claim
基于身份验证和授权是我在项目中需要的。 我可以同时使用它们吗?如果可以,我怎么做?
如果有人能清楚地解释一下,那就太好了。当用户注册时,他们的信息会被添加到数据库中。您可以将用户注册的电子邮件传递给ForgotMyPassword操作。然后向邮箱发送验证码或发送链接,使用户重定向到另一页以重置密码。让用户完成密码更改

您可以使用身份验证和授权,它们负责不同的业务。身份验证包括cookie、jwt和其他身份验证服务。cookie身份验证是内置组件。身份整合了它。你应该知道的

另一个服务是授权。授权服务只有在身份验证成功后才能工作。它有许多授权方法,关于基于声明的授权,当一个用户访问授权的操作时,它将通过中间件
app.UseAuthorization()
。此中间件将检查是否存在与操作策略的声明相对应的声明。因为您已经在启动时配置了它

services.AddAuthorization(options=>
        {
            options.AddPolicy("Policy1",policy=>
            {
                policy.RequireClaim("claim1",new string[] {"value1","value2" });
            });
        });
关于授权的行动

    [Authorize(Policy = "Policy1")]
    public IActionResult get()
    {
        return Ok();
    }
在这种情况下,用户应该拥有索赔
索赔(“索赔1”、“价值1”)
索赔(“索赔1”、“价值2”)