所以,我开始使用Swagger.我完全爱上它的功能,但我对所有公开方法的可用性有所怀疑.
据我所知 - Swaschbuclke中包含的所有"auth"方法实际上都是关于API本身,但我不需要帮助 - 我的所有API都受API id /密钥对的保护.
我想以某种方式利用ASP.NET身份(登录系统)来限制对API页面的访问(/ swagger/ui/index).
有什么办法吗?Swaschbuckle中的任何方法?任何路线/身份黑客?
任何帮助表示赞赏.
编辑1:[ApiExplorerSettings(IgnoreApi = true)]属性不是我正在寻找的 - 它限制了对方法的所有访问,无论身份如何.
我们实现了一个webAPI,我们有许多API控制器.我们为API提供API文档,我们要做的是从文档中排除某些Web方法,但我们希望根据我们运行的环境动态完成.只是为了让你了解我的意思,让我说我有以下网络方法
[ApiExplorerSettings(IgnoreApi = true)]
public Product getProduct()
{
...
}
Run Code Online (Sandbox Code Playgroud)
通过将ApiExplorerSettingAttribute上的IgnoreAPI属性设置为true,它会从文档中排除Web方法,这是我们想要的,但我们需要一种动态设置"true"值的方法.理想情况下,我们希望为每个webMethod创建一个包含bool值的数据库表,并根据这些值设置IgnoreAPi属性的值.有没有办法实现这个目标?非常感谢您的帮助.