所以,我开始使用昂首阔步。我绝对喜欢它的功能,但我对所有方法的可用性有一些怀疑。
据我所知--Swaschbuclke“Auth”方法中包含的所有方法实际上都是关于API本身的,但我在这方面不需要帮助--我的所有API都受到API ID/密钥对的保护。
我想以某种方式使用ASP.NET标识(登录系统)来限制对API页面(/swagger/ui/index)的访问。
有什么办法吗?Swaschbuckle有什么方法吗?有路线/身份黑客攻击吗?
任何帮助都很感激。
Edit1:[apiExplorerSettings(IgnoreApi=true)]
属性不是我要找的--它限制了对方法的所有访问,而不管其身份如何。
关于限制您的狂妄文档中单个API的暴露:
虚张声势5.x:
Swashbuckle5.x有一个名为IgnoreObsoleteActions的配置选项(您需要设置它;默认情况下不启用它),如果操作具有[Obsolete]
属性,该选项将隐藏操作。
httpConfiguration
.EnableSwagger(c =>
{
c.IgnoreObsoleteActions();
});
Swashbuckle在IAPIExplorer之上构建了swagger文档。您应该能够添加一个属性--[ApiExplorerSettings(IgnoreApi=true)]
--来管理ApiExplorerSettings控制器类或单个控制器方法,以便在生成文档时让资源管理器(以及随后的Swashbuckle)忽略它们。
示例:个人行动
/// Ignore 'GetFoo' in documentation
public class FooBarController
{
[ApiExplorerSettings(IgnoreApi = true)]
public Bar GetFoo
{
...
}
public Bar GetBar
{
...
}
}
示例:控制器类
/// Ignore every controller method in FooBarController in documentation
[ApiExplorerSettings(IgnoreApi = true)]
public class FooBarController
{
public Bar GetFoo
{
...
}
public Bar GetBar
{
...
}
}
更多细节请参见本GitHub问题。我自己在Swashbuckle 4.1.x中也用过这个。
我目前在我的项目中使用swagger,我有100多个控制器。我想由于大量的控制器,swagger UI文档页面需要超过5分钟来加载它的控制器。是否可以在UI页面选择特定的控制器,并只为它们加载选项?或者还有其他方法可以更快地加载UI页面?帮帮我!
我有工作的c转换器: 在Web配置中,我有: 一切都很好,但它适用于所有控制器,我需要它只执行一些控制器。 我们可以指定哪些转换器或参数应该与自定义转换器一起使用,哪些不应该?
本文向大家介绍ASP.NET中Webservice安全 实现访问权限控制,包括了ASP.NET中Webservice安全 实现访问权限控制的使用技巧和注意事项,需要的朋友参考一下 一、 概述: Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。它逻辑性的为 其他应用程序提供数据与服务.各应用程序通过网络协
问题内容: 我想使用Redis功能,例如MVC控制器中的位字段和哈希字段。我知道ASP.NET核心中内置了缓存支持,但这仅支持基本的GET和SET命令,而不支持我的应用程序中所需的命令。我知道如何从普通(例如控制台)应用程序中使用StackExchange.Redis,但是我不确定如何在ASP站点中进行设置。 我应该将所有连接初始化代码放在哪里,以便以后可以从控制器访问它?这是我将使用依赖项注入的
我有一个小问题访问一些控制器。当我向发送请求时,我会得到一个HTTP404,对于路径也是如此。 MovieController的一部分: 从这一个,我希望a只是得到一个测试后,但我得到了404。 控制台部分: 我的项目图片: 我尝试用注册我的控制器,但发生了同样的事情。 我可以访问一些endpoint,如、、...我使用spring-boot和jersey作为java 8的REST框架。