在 .Net Core 5.0 中忘记密码
Forgot password in .Net Core 5.0
我的登录和注册方法运行良好,当用户尝试登录或注销时我使用 Claim
。
我看到很多 ForgotMyPassword 页面的例子,但所有的例子都使用
private readonly UserManager<IdentityUser> _userManager;
基于 Microsoft.AspNetCore.Identity;
。我可以在不使用 UserManager
的情况下执行 ForgotMyPassword 操作吗
??我要求基于 Claim
的身份验证和授权是我在我的项目中所需要的。
我可以同时使用它们吗,如果可以的话我该怎么做?
如果有人解释清楚就太好了,问候
当用户注册时,他们的信息将被添加到数据库中。您可以将用户的注册电子邮件传递给 ForgotMyPassword 操作。然后发送一个验证码到邮箱或者发送一个link让用户重定向到另一个页面重设密码。让用户完成修改密码。
认证和授权都可以,分别负责不同的业务。认证有cookie、jwt等认证服务。 cookie 身份验证是内置组件。身份已经整合了它。你应该了解一下。
另一个服务是授权。授权服务只有在认证成功后才起作用。它有多种授权方式,关于claim-based授权,当一个用户访问授权的动作时,会经过中间件app.UseAuthorization()
。该中间件将检查是否存在与操作策略的声明相对应的声明。因为你在启动的时候配置好了。
services.AddAuthorization(options=>
{
options.AddPolicy("Policy1",policy=>
{
policy.RequireClaim("claim1",new string[] {"value1","value2" });
});
});
关于授权操作。
[Authorize(Policy = "Policy1")]
public IActionResult get()
{
return Ok();
}
在这种情况下,用户应该拥有声明 Claim("claim1","value1")
或 Claim("claim1","value2")
。
我的登录和注册方法运行良好,当用户尝试登录或注销时我使用 Claim
。
我看到很多 ForgotMyPassword 页面的例子,但所有的例子都使用
private readonly UserManager<IdentityUser> _userManager;
基于 Microsoft.AspNetCore.Identity;
。我可以在不使用 UserManager
的情况下执行 ForgotMyPassword 操作吗
??我要求基于 Claim
的身份验证和授权是我在我的项目中所需要的。
我可以同时使用它们吗,如果可以的话我该怎么做?
如果有人解释清楚就太好了,问候
当用户注册时,他们的信息将被添加到数据库中。您可以将用户的注册电子邮件传递给 ForgotMyPassword 操作。然后发送一个验证码到邮箱或者发送一个link让用户重定向到另一个页面重设密码。让用户完成修改密码。
认证和授权都可以,分别负责不同的业务。认证有cookie、jwt等认证服务。 cookie 身份验证是内置组件。身份已经整合了它。你应该了解一下。
另一个服务是授权。授权服务只有在认证成功后才起作用。它有多种授权方式,关于claim-based授权,当一个用户访问授权的动作时,会经过中间件app.UseAuthorization()
。该中间件将检查是否存在与操作策略的声明相对应的声明。因为你在启动的时候配置好了。
services.AddAuthorization(options=>
{
options.AddPolicy("Policy1",policy=>
{
policy.RequireClaim("claim1",new string[] {"value1","value2" });
});
});
关于授权操作。
[Authorize(Policy = "Policy1")]
public IActionResult get()
{
return Ok();
}
在这种情况下,用户应该拥有声明 Claim("claim1","value1")
或 Claim("claim1","value2")
。