.net核心2.1从控制器获取身份页面URL

时间:2018-10-23 19:14:19

标签: c# .net url identity core

我需要在MVC控制器中使用忘记密码功能。使用.net core 2.1,标识部分在Area/Identity/Account中分开。

我需要使用此部分来生成用于重置密码的URL。

var callbackUrl = Url.Page(
                "/Account/ResetPassword",
                pageHandler: null,
                values: new { code },
                protocol: Request.Scheme);

但是我无法在自定义控制器中以相同的方式生成网址。

有什么想法可以为普通控制台生成页面的URL?

2 个答案:

答案 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作为值。这样就可以了。