如何使.NET Web Api仅对我的应用程序私有

PercivalMcGullicuddy

我创建了一个新的Web Api MVC4项目,并使用API​​控制器构建了RESTful API,然后使用常规MVC控制器使用HMTL5 / KnockoutJS / JS呈现视图。

这些视图通过REST Api与应用程序进行交互(baseUrl属性指向我给定实体的正确REST端点):

        this.Post = function (entity) {

            return $.ajax(baseUrl, {
                type: 'post',
                data: ko.toJSON(entity),
                contentType: 'application/json',
                dataType: 'json'
            });
        };

现在,我该如何做才能使我的应用程序只能使用(或查看)我的RESTful API?

克里斯·普拉特

处理使某些内容私有化的最佳方法始终是在网络级别进行处理。甚至不要将Web API暴露给外界。将其放在DMZ后面,并专门针对您的面向用户的应用程序穿过防火墙。然后,其他任何东西都将无法触及它。

编辑

抱歉,我没有注意到您通过AJAX访问它的事实,因此我建议的内容在技术上是行不通的。但是,如果您只需要少数几个端点的客户端访问,则此方法仍有一些优点。您可以在应用程序中设置动作,该动作仅将请求代理到私有API端点,然后在面向用户的应用程序中针对AJAX调用这些动作,而不是直接针对Web API。

但是,如果所有内容都需要在客户端可用,则必须公开Web API。那时,身份验证是您唯一的选择,但是保护该客户端几乎是不可能的(您还必须存储身份验证令牌或方法来对客户端进行身份验证,从而允许任何想要查看的人在您的代码上模仿您所做的事情)。

通常,如果代码是公开的(无需进行身份验证即可使用),则您只想公开非原子性的端点(GET请求和其他实际上不会更改任何数据的事物)。用户通过面向用户的应用程序进行身份验证后,便可以公开原子的终结点,但是该终结点应仅限于他们有权访问的事物。您还应该仅使用其凭据来通过Web API进行身份验证,而不是使用应用程序的某些全局凭据集。这样,您可以在Web API级别上控制他们的访问,并拒绝更改他们不应访问的内容的请求。全局性更高的内容应仅通过您的Web应用程序进行访问,并代理到真正的私有Web API,如我的答复中首先描述的那样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建.NET Core库我可以从.NET Core应用程序(Web API)引用

来自分类Dev

IIS 如何知道如何启动 .NET Web 应用程序

来自分类Dev

如何通过桌面/控制台应用程序使用带有承载令牌的ASP.NET Web API 2.0

来自分类Dev

Bot Framework .Net,如何从我的Web应用程序获取Bot的用户名,Id,令牌

来自分类Dev

我如何使用Geoserver,postgresql,arcgis和c#.net制作Web GIS应用程序

来自分类Dev

如何为.Net应用程序提供Web界面

来自分类Dev

如何部署ASP.net Web应用程序

来自分类Dev

如何为.Net应用程序提供Web界面

来自分类Dev

如何为asp.net Web应用程序获取Google Api OAuth 2刷新令牌?

来自分类Dev

如何在.NET Web API应用程序中将FluentValidation与Swagger一起使用?

来自分类Dev

如何管理 android 应用程序和 ASP.net Web API 之间的状态?

来自分类常见问题

如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

来自分类Dev

如何使用单独的授权服务器,Web API,UI在ASP.NET Web应用程序中组织通信?

来自分类Dev

如何将Azure专用的Web应用程序/ apiapp设置为私有?

来自分类Dev

如何将Autofac和Log4Net与ASP.NET Web API 2应用程序集成

来自分类Dev

如何重定向我的mvc asp.net Web应用程序中除一个角色之外的所有页面?

来自分类Dev

ASP .Net Core Web 应用程序调用 Web API

来自分类Dev

在 Web 应用程序中使用 Web api 的 .Net Core

来自分类Dev

如何在ASP.Net中将Web服务层添加到Web应用程序

来自分类Dev

如何在Asp.Net(aspx)应用程序C#中添加API控制器(Web API 2)

来自分类Dev

如何对ASP.NET Core Web应用程序(.Net Framework)进行单元测试?

来自分类Dev

我们如何在Visual Studio Code中调试ASP.NET MVC Web应用程序?

来自分类Dev

如何在我的ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制

来自分类Dev

我正在开发 asp .net Web API 以在我的 Android 应用程序中使用它,

来自分类Dev

如何在ASP .NET Web API 2应用程序中使用ng-file-upload保存文件?

来自分类Dev

如何允许从本地主机和容器到ASP.NET Core Web API应用程序的HTTPS连接?

来自分类Dev

如何在Visual Studio中使用ASP.NET Core Web应用程序-API项目托管网页?

来自分类Dev

如何向 IIS 添加一个 asp.net web api 应用程序(正确的方法)

来自分类Dev

如何从服务器端(asp.net web api / mvc)向 xamarin 表单应用程序发送请求?

Related 相关文章

  1. 1

    如何创建.NET Core库我可以从.NET Core应用程序(Web API)引用

  2. 2

    IIS 如何知道如何启动 .NET Web 应用程序

  3. 3

    如何通过桌面/控制台应用程序使用带有承载令牌的ASP.NET Web API 2.0

  4. 4

    Bot Framework .Net,如何从我的Web应用程序获取Bot的用户名,Id,令牌

  5. 5

    我如何使用Geoserver,postgresql,arcgis和c#.net制作Web GIS应用程序

  6. 6

    如何为.Net应用程序提供Web界面

  7. 7

    如何部署ASP.net Web应用程序

  8. 8

    如何为.Net应用程序提供Web界面

  9. 9

    如何为asp.net Web应用程序获取Google Api OAuth 2刷新令牌?

  10. 10

    如何在.NET Web API应用程序中将FluentValidation与Swagger一起使用?

  11. 11

    如何管理 android 应用程序和 ASP.net Web API 之间的状态?

  12. 12

    如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

  13. 13

    如何使用单独的授权服务器,Web API,UI在ASP.NET Web应用程序中组织通信?

  14. 14

    如何将Azure专用的Web应用程序/ apiapp设置为私有?

  15. 15

    如何将Autofac和Log4Net与ASP.NET Web API 2应用程序集成

  16. 16

    如何重定向我的mvc asp.net Web应用程序中除一个角色之外的所有页面?

  17. 17

    ASP .Net Core Web 应用程序调用 Web API

  18. 18

    在 Web 应用程序中使用 Web api 的 .Net Core

  19. 19

    如何在ASP.Net中将Web服务层添加到Web应用程序

  20. 20

    如何在Asp.Net(aspx)应用程序C#中添加API控制器(Web API 2)

  21. 21

    如何对ASP.NET Core Web应用程序(.Net Framework)进行单元测试?

  22. 22

    我们如何在Visual Studio Code中调试ASP.NET MVC Web应用程序?

  23. 23

    如何在我的ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制

  24. 24

    我正在开发 asp .net Web API 以在我的 Android 应用程序中使用它,

  25. 25

    如何在ASP .NET Web API 2应用程序中使用ng-file-upload保存文件?

  26. 26

    如何允许从本地主机和容器到ASP.NET Core Web API应用程序的HTTPS连接?

  27. 27

    如何在Visual Studio中使用ASP.NET Core Web应用程序-API项目托管网页?

  28. 28

    如何向 IIS 添加一个 asp.net web api 应用程序(正确的方法)

  29. 29

    如何从服务器端(asp.net web api / mvc)向 xamarin 表单应用程序发送请求?

热门标签

归档