首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用ASP.NET Core 2.1 建立规范的 REST API -- 保护API其它

本文介绍如何保护API,无需看前边文章也能明白吧。...但是它主要用于包含页面的web应用, 例如MVC或Razor Page, 并不适用于REST/Web API, 所以不介绍它了....这种方法使用的是CorsPolicyBuilder 类, 它拥有Fluent API, 可以串接方法调用: ? 第二种方法是使用策略. 在ConfigureServices里配置好命名的策略: ?...这样就可以保护API,避免一些非正常使用的场景,例如网络爬虫或请求太多而导致API的性能严重下降,DosDDos。...现在,我需要注册一个策略存储速率限制计数器的存储,这两个是被中间件使用。所以还需要注册这两个服务: ? 这里都使用的是Singleton单例,因为我们需要的是针对全局的请求来做操作。

1.2K20

使用Spring Boot设计实现REST API

REST端点用于集成应用程序或服务器端向客户端提供服务。在本文中,将介绍基于CRUD的SpringBoot来设计实现REST端点。...假设有一个客户数据,我将创建一个相应的Spring REST Controller来访问客户数据。为了简单起见,我将只关注控制器类而不是整个spring应用程序。...设计实施端点 端点应简短易用。例如,为了通过Id获取客户,我们可以使用/ customers / {id}这样的端点。...所有这些方法都有助于设计简单的REST端点,因为这是标准的,所以每个人都可以理解它们。 GET GET方法用于访问资源。要根据ID获取客户记录,我们可以使用/ customers / {id}等端点。...当客户端请求无效或不存在的“id”时,我们可以使用标准HTTP响应代码,而不是使用自定义正文或错误消息进行响应。HTTP响应代码是REST中用于通知处理状态的标准方式。

1.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

REST API 设计最佳实践:如何构建、设计使用 API

作为一名开发者,我很幸运能够在工作中使用一些仍然存在的SOAP服务。但是,我主要接触的是REST,这是一种基于资源的APIWeb服务开发架构风格。...在我的职业生涯中有很大一部分时间都参与了构建、设计使用API 的项目。我见过的大多数API 都“声称” 是 “符合REST原则”的——意味着遵循 REST 架构的原则和约束。...因此我决定写篇文章分享一下,在设计 REST API 时的最佳实践。以下是关于设计优秀REST API 的一些建议、提示指导,帮助您让消费者(以及开发人员)满意。 1...., 4xx 表示客户端错误 5xx 表示服务器错误 当然你还可以使用其他 HTTP 协议提供给 REST API 设计的功能 ,但这些都必须牢记在心里。...最简单类型的分页就是按页码进行分页,它由pagepage size确定。现在问题来了:如何将这样的功能融入REST API? 我的答案是:使用查询字符串(querystring)。

35840

使用 Kotlin Spring Boot 2.0快速开发REST API接口 顶

完成工程目录结构的初始化工作 注意选择生成项目的构建工具,可以根据自己的编译习惯选择Maven或者Gradle,编程语言选择Kotlin,Spring Boot版本选择2.0.4或者以上版本,根据项目信息填写groupartifact...因为我们要用Spring5框架的响应式编程模式提供REST接口,第一个依赖包需要Reactive Web,另外我们需要用MongoDB保存接口数据,也是通过响应式访问MongoDB,还需要一个Reactive...使用IDE环境打开工程目录 可以使用STS或者IntelliJ IDEA,由于IntelliJ IDEA强大的辅助完成功能,个人强烈推荐后者。 ?...Date) 然后添加MongoDB的访问接口,该接口继承自ReactiveMongoRepository,已默认实现了数据搜索,保存,删除等基本方法,也可以根据自己的需要添加实现一些自定义方法,本例中仅使用到保存列表的方法就无需自定义方法了...添加REST API接口 凭借Kotlin优雅的DSL语言,我们可以更简洁的表达方式实现多个功能块的定义,如下部分是在beans内部添加WEB响应模块的bean: bean { val bookRepository

1.2K20

使用 Play Integrity API保护您的应用游戏

本文您将学习到如何使用最新的 Play Integrity API 在兼顾便利性的同时为开发者保障应用的安全完整性。 如果您更喜欢通过视频了解此内容,请 点击这里 查看。...为解决这类问题,我们整合了最为先进的完整性技术,提供了全新的 Play Integrity API,实现了让开发者只需调用单个 API 就能够实现整个应用的保护。...Play Integrity API 有助于保护您的应用游戏,使其免受可能存在风险的欺诈性交互 (例如欺骗未经授权的访问) 的危害,让您能够采取适当措施来防范攻击并减少滥用行为。...我们已同一些开发者们紧密合作来测试这一 API,它已投入生产环境使用,来保护应用游戏不被滥用。...分析出问题的严重程度,以及它造成的损失程度,以判断需要花费多大的努力去减少损失; 就完整性问题而言,没有一劳永逸的解决方案,新的 Play Integrity API 也不能解决所有问题,它仅可作为整体安全反滥用策略的一个环节

1.3K10

2019-05-31 使用 REST-Assured 测试 REST API 的进阶技巧最佳实践

各种针对 REST API 的测试工具也应运而生,《使用 Rest-Assured 测试 REST API》已进行了初步的介绍。...REST API 的测试有其自己的特点,虽然测试执行很快,很适合自动化测试,但是通常参数特别多,请求体返回体有时也很复杂。...从本质上说,REST API 的测试主要是测试 HTTP 的 GET/POST/DELETE/PUT 这几个方法。其中,最复杂的主要是 GET POST/PUT 两种情况。...它的安装简单的使用本文就不再赘述,请参考《使用 Rest-Assured 测试 REST API》。 我们首先看前面提到的第一个复杂点--验证返回体。JSON 返回体因为其结构简单,非常常用。...小结: 本文介绍了如何使用 Rest-Assured JSON Schema 测试 REST API 的方法及其他技巧。

1.7K20

保护微服务(第一部分)

应用程序级安全性:我们如何验证访问控制用户以使用微服务,以及如何保护微服务之间的沟通渠道? 这篇博文介绍了一种安全模型,以解决我们在应用程序级别保护微服务所面临的挑战。...边缘安全 将一组微型服务展示给世界其他地方的常见模式是通过API网关模式。使用API​​网关模式 - 需要暴露在外的微服务将在API网关中具有相应的API。...8_6YrfKLa3dWvzQF2gTIkCfQ.png 上图显示了XACML组件的体系结构。策略管理员首先需要通过PAP(策略管理点)定义XACML策略,这些策略将存储在策略存储中。...为了检查给定实体是否有权访问给定资源,PEP(策略执行点)必须拦截访问请求,创建一个XACML请求并将其发送到XACML PDP(策略决策点)。...PIP(策略信息点)在PDP发现在XACML请求中缺少策略评估所需的某些属性时出现,然后,PDP将与PIP进行交互以找到相应的缺失属性。

2.5K50

9个顶级开发IoT项目的开源物联网平台

它支持大数据解决方案,如ElasticSearch,Apache Spark,CassandraKafka,用于实时批处理。 通过REST API,WebSockets或MQTT连接任何设备。...Zetta结合了REST API,WebSockets反应式编程。...您可以使用管理控制台轻松控制它们,或使用REST API将它们集成到项目逻辑中。IT支持所有类型的黑客板,如Arduino,ESP8266,Raspberry Pi,Intel Edison。...WSo2 Build允许公开API来为移动应用提供支持,允许用户监控控制他们的设备。您可以将其与现有的身份系统集成,或使用他们的身份系统。...WSo2开源的物联网平台主要特点: 通过WSO2数据分析服务器(DAS),它支持批量,交互式,实时预测性分析。

16.9K10

Identity Server 4 - Hybrid Flow - 使用ABAC保护MVC客户端API资源

html 本文介绍如何使用ABAC (Attribute-based Access Control 基于属性的访问权限控制)保护API资源....配置API资源, 后边我需要用到nationalitygender: ? 最后再TestUser里面添加一个nationality的claim, 再添加一个gender(性别)的claim: ?...扩展授权策略 使用内置的策略选项可以处理一些比较简单的规则, 但是针对复杂一点的规则, 就需要对策略进行扩展了....代码实现 前一部分保护的是MVC客户端, 那么这一部分就来保护API吧. 现在API项目里建立一个Requirement: ? 它的构造函数可以传递一些参数进来, 但是我这个例子并不需要....最后在API的Controller里设置权限策略: ? 测试, 使用NickDave都应该可以在Contact页面查询出Country资源的数据: ? 但是Kevin就没有权限访问API了: ?

1.6K40

盘点 15 个好用的 API 接口管理神器

这包括: 快速运行 具有可分离策略引擎的基于策略的治理 异步功能 增强的结算分析选项 REST API可用性的管理 限速,还有其他 4....WSO2 API管理器 WSO2 API Manager是一个完整的生命周期API管理平台,可以随时随地运行。可以在企业内部私有云上执行API的分发部署。除此之外,它还提供了一些其他的便利。...其中一些是: 高度定制化 管理策略易用, 为SOAP或RESTful API设计原型的可能性, 更好的访问控制货币化设施等 5.Kong Enterprise Kong是一种广泛采用的开源微服务API...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同的数据类型创建和维护REST API。...密钥,以及 支持REST API设计以及Go,PHPNode.js库的使用

2.3K50

盘点 15 个好用的 API 接口管理神器

这包括: 快速运行 具有可分离策略引擎的基于策略的治理 异步功能 增强的结算分析选项 REST API可用性的管理 限速,还有其他 4....WSO2 API管理器 WSO2 API Manager是一个完整的生命周期API管理平台,可以随时随地运行。可以在企业内部私有云上执行API的分发部署。除此之外,它还提供了一些其他的便利。...其中一些是: 高度定制化 管理策略易用, 为SOAP或RESTful API设计原型的可能性, 更好的访问控制货币化设施等 5.Kong Enterprise Kong是一种广泛采用的开源微服务API...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同的数据类型创建和维护REST API。...密钥,以及 支持REST API设计以及Go,PHPNode.js库的使用

3K20

盘点 15 个好用的 API 接口管理神器

这包括: 快速运行 具有可分离策略引擎的基于策略的治理 异步功能 增强的结算分析选项 REST API可用性的管理 限速,还有其他 4....WSO2 API管理器 WSO2 API Manager是一个完整的生命周期API管理平台,可以随时随地运行。可以在企业内部私有云上执行API的分发部署。除此之外,它还提供了一些其他的便利。...其中一些是: 高度定制化 管理策略易用, 为SOAP或RESTful API设计原型的可能性, 更好的访问控制货币化设施等 5.Kong Enterprise Kong是一种广泛采用的开源微服务API...7.Fusio Fusio是另一个开源API管理工具,开发人员可以使用它从不同的数据类型创建和维护REST API。...API密钥,以及 支持REST API设计以及Go,PHPNode.js库的使用

2.6K50

(译)Kubernetes 策略管理白皮书

下图展示了 XACML 组件组件之间的互动。OASIS 的 XACML 3.0 规范中描述了这方面的详细内容。 接下来看看 XACML 架构在 Kubernetes 策略管理中的应用。...,例如访问被保护的文件系统,可以新增一个安全层进行检测。...这个报告是一个 Kubernetes 的自定义资源,可以使用 Kubernetes API 进行查询管理。...有一些关键策略可以用于保护软件供应链。这些策略可以在 CI/CD 中执行,例如可以使用数字签名、代码完整性、镜像软件物料单等来方法来验证软件供应商的身份。...例如 NIST 800-53 的控制项 PROTECTION OF INFORMATION AT REST(用户信息系统信息的机密性完整性)可以映射到 Kubernetes 控制项: 确定容器磁盘被加密

66210

Salesforce的SQL API

或者Cast Iron的Salesforce Adapter都能实现,最开始我们找到了Salesforce的Analytic API,是Salesforce的报表数据API,试用了下,用的是REST+JSON...再一次赞下Salesforce的强大和灵活,通常的OLTP系统提供HTTP之上的Web ServiceAPI不足为奇,像互联网上Facebook,Twitter,微信微博,企业内部的ERP&CRM如...如果说面向OLTP通过API开放了应用,那面向OLAP通过SQL API开放了数据,也就是DaaS的开放了。...此外我们在研究开源API方案时候,发现WSO2的DSS也有类似可以将数据源快速暴露成Web ServiceAPI,但详细对比下,WSO2的DSS只能通过IT人员来写SQL发布WSDL,还是一个典型的On-Premise...我们试图分析技术上如何实现,WSO2的DSS这类On-Premise发布的WSDL是紧耦合在数据上,也就是说如果数据变了,如字段增加减少,WDSL是要IT人员重新发布的,而Salesforce的WSDL

1.4K10

API安全综述

XACML(可以使用IP实现高级授权策略)。可以使用XACML(可扩展访问控制标记语言) 来实现这类高级授权策略。 可以扩展标准的授予方式或引入新的授予方式,获取token的过程支持很多访问控制场景。...但同时也可以基于运行时的数据执行很多复杂的策略。例如,可以使用一个策略来规定在上班期间,只有IP段为x-y的客户端能够发起特定的API方法。与token颁发阶段类似,可以使用XACML实现这类策略。...API网关需要使用API请求的相关信息来联系XACML引擎,并以此执行授权功能。 而且可以结合限流功能实现更高级的策略。...图3展示了使用限流策略访问控制策略API调用阶段对API进行防护。注意这种情景下使用了一个独立的限流组件,并将策略评估引擎放到了API控制面。 ?...TLS是在传输层实现机密性完整性的主要方法。通过在客户端应用API层,以及API后端服务之间启用TLS,就可以保证在消息传递过程中不会被篡改或泄露。 但在某些情况下需要更细粒度的内容保护

1.1K20

Apache Eagle——eBay开源分布式实时Hadoop数据安全方案

WSO2 Siddhi CEP 引擎是Eagle优先默认支持的策略引擎,同时机器学习算法也可作为另一种策略引擎执行。 扩展性。Eagle的策略引擎服务提供API允许你插入新的策略引擎。...1.d 展示重要的用户行为模式成分 Eagle 服务 策略管理器:Eagle策略管理器提供交互友好的用户界面REST API 供用户轻松地定义管理策略,一切只需几次鼠标点击而已。...Eagle的用户界面使得策略的管理、敏感元数据的标识导入、HDFS或Hive 的资源浏览以及预警仪表等功能都非常易于使用。...Eagle 策略引擎默认支持WSO2的Siddhi CEP引擎机器学习引擎,以下是几个基于Siddi CEP的策略示例。...以下是我们目前正在开发中地一些特性: 扩展机器学习模型对HiveHBase支持 提供高度可扩展的API,以方便集目前业界广泛使用的其他监控预警平台或者工具,如GangliaNagios等,同时支持敏感数据的导入

1.4K60

APP接口升级设计策略API版本管理规范版本控制模式API版本升级方案约定案例使用场景

因此对外暴露的所有API需要有统一的版本管理策略来应对兼容性问题。 版本控制模式 根据不同的应用场景,制定了两种API的版本控制模式: 1....:1.0.1 API版本升级方案约定案例 开闭原则。..._t=1541397626404 https://www.fota.com/api/v1.3/account/user/general?_t=1541397626404 使用场景 1....常规的版本升级BUGFIX 一般情况下使用HTTP Header中指定的版本号,在代码逻辑中进行判断就可满足需求。Header中无版本号即走默认处理逻辑。 3....两种模式同时使用 URL自带模式用来处理大版本变动,当大版本已经升级完成,后续的小需求迭代仍然可以使用HEADER的方式来保持API兼容。

4.6K40
领券