More Related Content
Similar to SAM: Simple Access Manager Design (20)
SAM: Simple Access Manager Design
- 1. SAM:a simple access manager for web
applications
Donnie Cai , Liang Ma
July 22, 2010
1 概述
Web 访问管理是决定一个用户(或应用)的身份的过程。这通常是由
一个用户名和密码提示。其他身份验证方法,也可以包括访问令牌(即生
成一次性密码)和数字证书。一旦用户(或程序)的身份得到确认,基于
策略的授权发挥作用, 这通常包括:
• 确定用户上次登录时间
• 确定尝试访问受保护的资源
• 记录的任何异常行为
对于最终用户,访问管理应该可以配合相关鉴权系统一起,提供单点登录。
单点登录的过程,是一个用户一次登录到一个 Web 资源,然后将自动登
录到所有其他相关的和受保护的资源。用户可以不便当试图获得认证的整
个一天(当然要多个网站可能每个不同的用户名和密码) 。一个 Web 访问
管理产品可以记录的初步验证,并提供了一个 cookie,作为一个为验证所
有受保护的资源临时令牌授权行为的用户,从而使用户只登录一次。
通常访问管理有两种不同类型的架构实现:插件 (Agent) 和代理 (Proxy)。
插件模式通常需要将服务程序安装在每个节点应用程序服务器上,并
在每一个网页的请求调用。他们拦截 Web 请求,并询问外部策略服务器,
以便作出这些决定。这种基础架构的好处之一是,他们可以高度为特定
Web 服务器的独特需求而定制。其显著缺点之一是,需要在每个应用服务
器上去实现服务程序。
1
- 2. 2 现 2
基于代理的架构不同,所有 Web 请求都通过代理服务器路由到后端的
应用服务器。基于代理的体系结构的好处之一是可以依赖一个标准的协议
保障实现。
2 现状
在互联网领域目前常用的访问管理方案是 CAS(Central Authentication
Service)。
从 结 构 上 看, 它 包 含 两 个 部 分: CAS Server 和 CAS Client。 CAS
Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理
对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。下
面是其最基本的协议过程:
3 方案
3.1 介绍
SAM 基于 CAS 架构. 涉及到的角色有:
- 3. 3 方案 3
• Application, 接入应用 (可跨域)
• Validate, 鉴权服务
• Login, 登录服务
• Logout, 登出服务
3.2 流程和结构
ticket 由当前 session,userid,timestamp 哈希得到。
3.3 Session Arch
Session 是典型的 schema less 数据结构. 这种数据存放在传统的关系型
数据库中, 将会造成巨大的稀疏矩阵, 从而降低数据库运行效率; 如果简单的
放入键值对存储, 那么其有限的查询能力将会限制应用业务需求的实现。
会话存储服务将被设计成
• Query in Memeroy
- 4. 3 方案 4
• Snapshot files
• Non-volatile RAM
• Lifecycle api
3.4 路线图
未完待续...
Powered by LTEX.
A