You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ABP 4.4.2 密码重置链接跳转Swagger而非Angular重置页如何配置?

ABP 4.4.2 密码重置链接跳转错误解决方案

你遇到的跳转问题本质是默认邮件模板生成的重置链接指向了API服务域名,而API根路径默认逻辑就是重定向到Swagger页,按照以下步骤调整即可:

  • 方案一:全局配置重置链接规则(推荐)
    在HTTP API Host项目的模块类(通常命名为*HttpApiHostModule.cs)的ConfigureServices方法中,新增账户模块的重置链接格式配置:
Configure<AccountOptions>(options =>
{
    // 替换为你Angular端密码重置页面的实际访问地址,占位符保持不变即可
    options.ResetPasswordUrlFormat = "http://MyServer:MyAppPort/account/reset-password?userId={userId}&tenantId={tenantId}&resetToken={resetToken}";
});

ABP会自动将{userId}、{tenantId}、{resetToken}占位符替换为实际参数值,你现有配置里的RedirectAllowedUrls已经添加了Angular端地址,这部分无需修改。

  • 方案二:修改HomeController跳转逻辑
    如果你不想修改全局的链接生成规则,也可以修改HomeController的Index方法,识别重置密码请求后跳转到前端页面:
public IActionResult Index()
{
    // 判断是否为密码重置请求
    if (Request.Query.ContainsKey("resetToken"))
    {
        var userId = Request.Query["userId"].ToString();
        var tenantId = Request.Query["__tenant"].ToString();
        var resetToken = Request.Query["resetToken"].ToString();
        return Redirect($"http://MyServer:MyAppPort/account/reset-password?userId={userId}&tenantId={tenantId}&resetToken={resetToken}");
    }
    // 其他请求依旧跳转Swagger
    return Redirect("/swagger");
}

以上任意一种方案修改完成后,重启API服务即可生效。

内容的提问来源于stack exchange,提问作者lukkr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:15:06