【问题标题】:In Swagger.Net UI, how can I remove the padlock icon from “Anonymous” methods?在 Swagger.Net UI 中,如何从“匿名”方法中删除挂锁图标?
【发布时间】:2021-04-01 03:57:26
【问题描述】:

我发现了一个类似的线程 here,但这是针对 .Net Core 的。我对 Swagger.Net API(.Net Framework) 有同样的问题。

我将 Swagger.Net API 版本 8.3.35.101 与 .Net 框架 4.6.1 一起使用,并且我在 Swagger UI 中为每个方法都获得了一个锁定图标。我的应用程序中的某些 API 不需要身份验证,因此我想从此类 API 中删除挂锁图标。

在上图中以红色突出显示的图像中可以看到需要移除的挂锁图标。我相信可以通过实现 IOperationFilter 来为匿名方法隐藏它,但找不到任何示例代码来使用 .Net 框架实现它。

【问题讨论】:

  • 不,它不是重复的。我已经在我的问题中给出了那个链接,但那是针对 .Net 核心的,我使用的是针对 .Net 框架的 Swagger.Net。
  • 你能提供一些示例代码吗,它对我来说很好用:nhc-noaa.azurewebsites.net/swagger/ui/…
  • 我尝试的代码不起作用,因为 .Net Core 和 IOperationFilter 在 Swagger.Net 中是不同的;因此,我什至无法编译它。 Here 是我尝试过的链接。您能否分享您在评论中提供的链接的示例代码?我认为这应该对我有用。
  • 我的意思是一个重现您的问题的示例代码,一个完整的项目将是理想的......这是我项目的代码:github.com/heldersepu/nhc-noaa 我使用ApiKey 设置了身份验证@github.com/heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Start/…
  • 我很想深入了解您为什么总是得到挂锁图标...您可以在 GitHub 上创建一个项目来重现您的问题并在此处发布链接吗?跨度>

标签: c# asp.net-mvc swagger swagger-ui swagger-net


【解决方案1】:

这是我们在 cmets 中讨论的答案:

问题是ApiKey 的配置类型不正确,应该是这样的:

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthorizeAttribute));
c.ApiKey("appId", "header", "APP ID Authentication", typeof(KeyAuthorizeAttribute));

github上的那个代码:
https://github.com/heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Start/SwaggerConfig.cs#L75

还有一个现场样本:
http://nhc-noaa.azurewebsites.net/swagger/ui/index?docExpansion=list&filter=#/

挂锁图标仅在其中一个上

【讨论】:

    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多