asp.net - 电子邮件确认后如何将用户重定向到主页?
问题描述
我试图在用户点击电子邮件验证链接后将他们重定向到主页。但是,它不会重定向到return URL
指定的。
EmailConfirmationUrl = Url.Page(
"/Account/ConfirmEmail",
pageHandler: null,
values: new { area = "Identity", userId = userId, code = code, returnUrl = "/Index" },
protocol: Request.Scheme);
/Index
在用户单击电子邮件确认 URL 后,如何将用户返回到主页?目前,它停留在仅带有确认电子邮件标题的页面上。当我尝试测试它以在单击 URL 时重定向到www.google.com时,EmailConfirmationUrl 的示例如下:
https://localhost:44376/Identity/Account/ConfirmEmail?userId=1bc31c65-1a8d-4511-9399-af83c2a98285&code=Q2ZESjhPRkRBdzJRNVE1T29wbGF6UnhpSUY5ZWk0dDlDc3U5WEcrUnBxVlNwTlpscmpzaXdSbk5XVnE1RWVxZmUyc2dRNTF4R0xtNG5yZUN1WldDb0RWK2hud0dZKzV3bFlLYVNYdDAvSFZrUEIvMEZ5cDFFRld5OEVlOE1pVmdiMDZVSERTUU5yZGIwMEhOWTdzcFkvMDRacjkwZmtSUXExUHlZb0RLMXc4RFJhNVN2NnVsVks5WVQ5cm1iZWVRTU94RUJBVFBOV0RqcmxkMDdSWGZSTVBHVHk1Y3FyVmZIK0FGQmpHMlNja1BpY21UMkZGcXBFTmhFWHZwdFAyRXNVUEc0QT09&returnUrl=https%3A%2F%2Fwww.google.com%2F
解决方案
在您的 ConfirmEmail.cshtml.cs 中,OnGet
进行如下配置。它可能是一种async
方法,因为我记得UserManager
有一种async
方法ConfirmEmailAsync
。
public IActionResult OnGet(int userId, string code, string returnUrl)
{
// Perform your confirmation check.
// And then redirect if passed.
return LocalRedirect(returnUrl);
}
推荐阅读
- c++ - 指向由派生类初始化的基类的指针如何使 *__vptr 称为正确的虚函数?
- javascript - 我的超时关闭仍然只处理循环的最后一个值。Javascript
- javascript - 如何在 mocha 中的文件之间等待或共享数据
- c# - DirectoryNotFoundException:“找不到路径的一部分”,但路径存在(Directory.Exists 返回 true)
- python - 2个python脚本在同一个端口上与arduino通信
- c# - C# TreeView 在数据和显示之间变得不匹配
- matlab - Matlab 没有读取 .mat 文件
- sql - 有什么方法可以针对只读 SQL 数据库创建视图?
- database - 表情符号存储为?在 PhpMyAdmin 中
- javascript - Javascript 强制将字符串插入 JS 对象 (JSON) 传单向量图块