博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cloud Design Pattern - Gatekeeper Pattern(守门人模式)
阅读量:2235 次
发布时间:2019-05-09

本文共 1036 字,大约阅读时间需要 3 分钟。

1.前言

上一篇我们讨论了,介绍了云计算环境下的多租户应用的身份认证与授权的问题.这一篇我们将深入到应用程序内部,看如何创建安全的请求,尤其是针对敏感信息的请求.

2.概念

在REST API 的时代,服务暴露出的都是一些EndPoint,调用者通过向这个EndPoint发起请求来调用,正常情形下,收到请求之后,我们的应用程序就开始响应请求了.然而,应用程序应该防止被恶意攻击,所以需要校验这些请求.熟悉ASP.NET请求管道的朋友就知道,ASP.NET会使用HttpModule来过滤用户的请求.

关于ASP.NET 请求管道及HttpModule.详细信息请点击:http://blog.csdn.net/sundacheng1989/article/details/9995263

那么我们的WebApi也需要这种类似HttpModule的东西来对请求做过滤,这种模式就是在调用的客户端和宿主服务之间建立一个代理,通过代理来完成过滤和请求的转发.

3.示例

个人认为最好的示例就是ASP.NET中使用HttpModule这种思想.

在官方文档中给出了一个运行在云中的Cloud Service 的例子,比较简单,不多赘述,如下图所示.

这里我们使用一个WebRole作为Gatekeeper来处理请求的过滤及验证,然后把请求传递给后端的服务进行调用。由于这种模式思想比较简单,几乎可以不必称之为一种模式,如果对ASP.NET的原理了解比较深刻,自然能够熟练运用.

4.相关阅读

The following pattern may also be relevant when implementing this pattern:

  • . When communicating between the Gatekeeper and trusted roles it is good practice to enhance security by using keys or tokens that limit permissions for accessing resources. The Valet Key pattern describes how to use a token or key that provides clients with restricted direct access to a specific resource or service.

你可能感兴趣的文章
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Loadrunner】性能测试报告实战
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>