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”)