【问题标题】:How to remove identity's endpoint?如何删除身份的端点?
【发布时间】:2023-03-25 11:08:01
【问题描述】:

我有一个通过 Identity 模板创建的 MVC 项目。我决定从我的应用程序中删除默认的Identity,然后我删除了整个Areas 文件夹。

/身份/帐户/管理

现在我不确定为什么这个端点会返回

无法加载 ID 为“{guid}”的用户。

同时例如/Identity/Account/返回空白页(这是我的目标)

我尝试扫描所有项目文件以查找诸如Unable to 之类的关键字,但它不存在。有关如何删除该端点的任何想法?

提前致谢。

【问题讨论】:

  • 如果您可以发布您的帐户/身份控制器的一部分,这将有所帮助。看起来您有一个接受 guid 作为参数的路由集。
  • @Immorality 但我没有Account 也没有Identity 控制器
  • 这可能听起来很傻,但是...您是否重新编译了应用程序?
  • @JuanR 我什至杀死了 IIS,删除了 obj 和 bin 文件夹,例如 /Identity/Account/ 返回空白页,但 /Identity/Account/Manage 返回该消息,也许 services.AddDefaultIdentity 在幕后做的更多。
  • 我怀疑您看到的错误并非来自您的想法。我建议搜索字符串Unable to load user with ID。它将阐明正在加载的内容。

标签: c# .net-core asp.net-core-mvc


【解决方案1】:

要删除 Identity,您需要删除 Areas 文件夹并注释掉 services.AddDefaultIdentity

对于 Identity,它使用 Identity Razor 库,该库符合 View Into 库。这意味着,如果您只删除Areas,它不会删除身份视图。

无法加载 ID 为“{guid}”的用户。

对于这个错误,定义在Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal

同时,例如 /Identity/Account/ 返回空白页(这是我的目标)

如果您只替换/Identity/Account/ 的内容,您可以自定义Areas\Identity\Pages\Account\Manage\_Layout.cshtml 的视图。

创建这样的文件并将内容替换为以下内容:

@{ 
   Layout = "/Areas/Identity/Pages/_Layout.cshtml";
}
@section Scripts {
     @RenderSection("Scripts", required: false)
}

为了快速解决问题,我建议您尝试Middleware,如下所示:

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.Map("/Identity/Account", map =>
        {
            map.Run(async context =>
            {
                await context.Response.WriteAsync("");
            });
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2012-02-08
    • 2022-01-19
    • 2018-01-04
    • 2021-09-20
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多