我已经在我的网站上添加了Swagger和Swashbuckle生成器,并跟随this tutorial。现在,当导航到https://localhost:port/swagger/
时,我可以看到生成的API文档。注意,我没有创建任何SwaggerController
类--这都是由NuGet包处理的。
问题是,我的整个站点,甚至是API,都是使用自定义LDAP进行身份验证的。我也想保护/swagger/
页面。但是,我没有找到一种方法来做到这一点。StackOverflow上唯一相关的问题描述了adding authentication INTO swagger requests-不对整个API文档页面进行身份验证。
是否有一种特定的方法来保护生成的/swagger/
页面?或者,是否有一种通用的方法来向ASP.NETCore2.0MVC路由添加身份验证验证器?
2条答案
按热度按时间1bqhqjot1#
创建一个自定义的中间件处理程序,然后将其添加到管道中,如下所示:
启动.cs
中间件类:
pbgvytdp2#
我想出了以下解决办法:(灵感来自Ryan的解决方案)
如果您已正确设置了身份验证机制,则此操作会将用户重定向到登录页面。
然后,在构建应用程序时(例如,针对NSwag)