Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 保护ASP.NET 5 Web API应用程序安全的推荐方法_Asp.net Web Api_Asp.net Core - Fatal编程技术网

Asp.net web api 保护ASP.NET 5 Web API应用程序安全的推荐方法

Asp.net web api 保护ASP.NET 5 Web API应用程序安全的推荐方法,asp.net-web-api,asp.net-core,Asp.net Web Api,Asp.net Core,在以前版本的ASP.NET中,您可以从默认模板获得即时授权和身份验证 我有一个Web API应用程序和三到四个定义良好的客户端,它们将使用它,我需要保护它 我读过关于OpenID和OAuth的文章,但对于我的问题来说,它们似乎是杀伤力过大 实现这一点最简单的方法是什么?如果您需要安全性,这将是3个最佳解决方案: WEB API浏览器客户端:隐式OAuth 2流 WEB API应用程序客户端:OAuth2代码流 (使用OpenId) 或者:具有跨站点请求伪造保护的Cookie身份验证。(默认模板M

在以前版本的ASP.NET中,您可以从默认模板获得即时授权和身份验证

我有一个Web API应用程序和三到四个定义良好的客户端,它们将使用它,我需要保护它

我读过关于OpenID和OAuth的文章,但对于我的问题来说,它们似乎是杀伤力过大


实现这一点最简单的方法是什么?

如果您需要安全性,这将是3个最佳解决方案:

WEB API浏览器客户端:隐式OAuth 2流

WEB API应用程序客户端:OAuth2代码流

(使用OpenId)

或者:具有跨站点请求伪造保护的Cookie身份验证。(默认模板MVC 6网站模板)


如果您的应用程序是公共的,我将至少使用其中一个,否则这取决于您的数据必须多么安全。

好吧,这取决于您的场景。如果您不需要身份验证(因为这是一个服务器到服务器的场景),请使用如下所述的安全令牌。如果需要对用户进行身份验证,可以使用基本或摘要安全性与HTTPS相结合


在安全令牌场景中,客户端只需将令牌添加到请求头,服务器需要验证令牌。确保请求以HTTPS传输,以确保令牌已加密。请记住,只有当您知道将访问API的应用程序将位于安全环境中(例如,另一台服务器)时,此方法才有效。否则,我会选择另一种解决方案。

默认模板将在许多不同类型的授权/身份验证场景中引导您。默认模板附带表单身份验证,这对于常规web应用程序来说很好,但我正在为没有浏览器的客户端构建一个web API。