我需要在MVC控制器中使用忘记密码功能。使用.net core 2.1,标识部分在Area/Identity/Account
中分开。
我需要使用此部分来生成用于重置密码的URL。
var callbackUrl = Url.Page(
"/Account/ResetPassword",
pageHandler: null,
values: new { code },
protocol: Request.Scheme);
但是我无法在自定义控制器中以相同的方式生成网址。
有什么想法可以为普通控制台生成页面的URL?
答案 0 :(得分:2)
var code = await _userManager.GeneratePasswordResetTokenAsync(applicationUser);
var callbackUrl = $"{Request.Scheme}://{Request.Host}/Identity/Account/ResetPassword?code={code}";
答案 1 :(得分:1)
var callbackUrl = Url.Page(
"/Account/ResetPassword",
pageHandler: null,
values: new { area = "Identity", code },
protocol: Request.Scheme);
在使用Url.Page从mvc Controller生成正确的链接时,您需要指定area作为值。这样就可以了。