Cloud Design Pattern - Gatekeeper Pattern(守门人模式)

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:

  • Valet Key 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.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值