建筑文档中的流行语

时间:2011-11-03 15:02:15

标签: security architecture stateless buzzword-compliance

我们的应用程序的架构文档有一些我无法直观地联系的热门话题

  
      
  1. 无状态可分发应用程序

  2.   
  3. 可插入安全模型

  4.   

我能理解分布式意味着什么,但无国籍意味着什么? 无状态可分发应用程序的含义是什么?您能举例说明此类应用程序吗?

什么是可插拔安全模型?我知道可插拔API是可以插入或替换为其他实现的东西,但我认为安全性是很好地集成到应用程序中并且是其核心。 是否可以插件?您能举例说明这种方法是什么样的吗?

2 个答案:

答案 0 :(得分:6)

无状态可分发应用

无状态分布式应用程序允许轻松进行水平扩展(即向系统添加具有应用程序实例的更多计算机)。

无状态是指不维护状态信息的应用程序实例。由于没有状态,任何应用程序实例都将为给定输入生成相同的输出,无论它是否预先接收到任何输入。因此,哪个实例响应请求无关紧要。

这使得scalablity更容易,因为不需要维护对某些实例“粘滞”的会话。请求dirtribution逻辑(例如负载均衡器)可以将负载分配给任何实例而不用担心事先发生的事情。可以在群集中添加或删除实例,而无需担心活动会话。

此类体系结构通常在系统持久层中维护状态信息,这意味着应用程序实例从持久层检索它们处理的每个请求的新状态信息。这是为缩放灵活性付出的代价。

可插入的安全模型

安全模型定义了如何授权用户访问资源。安全模型的示例是基于角色的访问控制列表。

安全模型实现与业务逻辑交互。在做敏感事情之前,业务逻辑必须要求安全逻辑进行授权。复杂的业务逻辑可能有许多必须执行此类检查的地方。如果安全逻辑和业务逻辑紧密耦合,即业务逻辑直接调用安全逻辑,则很难更改安全模型。

可插拔安全模型将松耦合替换为松散耦合,业务逻辑通过插件接口与安全模型进行交互。由于业务逻辑对安全逻辑内部结构一无所知,因此安全逻辑可以在不改变业务逻辑的情况下进行更改。

这样的插件接口通常实现为一组回调,在业务逻辑中配置,并由业务逻辑用于查询安全逻辑。

答案 1 :(得分:1)

使用可插拔的安全模型(至少与我熟悉的那个),最终用户可以配置为应用程序使用哪些安全方法。例如,最终用户可以选择使用标准用户名/密码方法,智能卡,视网膜扫描或上述的某种组合。它是“可插拔的”,因为提供安全机制的供应商(智能卡读卡器或其他)提供了一些软件来插入认证框架。

有些示例,请参阅the Linux Pluggable Authentication Modules (PAM)javax.security.auth.login Java包。