第1章 引言 1
1.1 Identity Server概述 1
1.1.1 数据管理组件 1
前言 1
1.1.2 应用管理服务 2
1.1.3 管理访问 3
1.2 扩展Identity Server 4
1.2.1 使用XML的服务定义 4
1.2.2 Identity Server控制台定制设置 4
1.2.3 Java包 5
1.3 Identity Server文件系统 6
2.1.1 控制台界面 7
第2章 Identity Server 6.0控制台 7
2.1 概述 7
2.1.2 体系结构 8
2.2 定制控制台 8
2.2.1 默认控制台目录 9
2.2.2 创建定制机构文件 9
2.2.3 预编译JSP文件 10
2.3 定制用户配置文件视图 11
2.4 其他定制设置 11
2.4.1 更改默认属性显示 11
2.4.5 显示容器对象 13
2.4.4 插入新模块 13
2.4.2 本地化控制台 13
2.4.3 定制背景颜色 13
2.5 控制台示例 14
第3章 验证服务 15
3.1 概述 15
3.1.1 访问验证服务 16
3.1.2 验证请求 16
3.1.3 其他功能 17
3.2 验证用户界面 19
3.2.1 定制验证界面 20
3.2.2 JSP模板 21
3.3.1 核心验证服务 23
3.3.2 专有验证模块 23
3.3 默认验证模块 23
3.2.3 验证模块配置文件 23
3.3.3 指定验证方法 24
3.4 定制验证模块 29
3.4.1 创建新验证模块 29
3.4.2 配置本地化属性 30
3.4.3 配置模块凭证要求 31
3.4.4 修改amAuth.xml 35
3.5 应用验证 35
3.5.1 Java应用验证API 36
3.5.2 验证非Java应用 36
3.5.3 remote-auth.dtd结构 36
3.7 URL参数 42
3.6 验证SPI 42
3.8 C程序与验证 44
3.9 验证示例 48
3.9.1 远程客户端API 48
3.9.2 登录模块 49
第4章 单点登录 50
4.1 概述 50
4.1.1 联系策略代理 50
4.1.2 创建会话令牌 51
4.1.3 提供用户凭证 51
4.2 cookie和会话令牌 51
4.3 对SSO的跨域支持 51
4.3.1 启用跨域单点登录 52
4.3.2 配置跨域SSO 53
4.4 SSO API 55
4.4.1 非Web应用 55
4.4.2 API概述 55
4.4.3 API示例代码 59
4.5 SSO Java示例文件 65
4.5.1 SSO Servlet示例 65
4.5.2 远程SSO示例 66
4.5.3 命令行SSO示例 66
第5章 身份管理 67
5.1 概述 67
5.2 对象模板 68
5.2.1 ums.xml的结构 69
5.2.2 修改ums.xml 70
5.3 Identity Server SDK 71
5.3.1 SDK接口 71
5.3.2 SDK与缓存 74
5.3.3 远程安装SDK 74
5.4 amEntrySpecific.xml 75
5.5 管理功能示例 76
5.5.1 创建、删除或修改用户 76
5.5.2 创建机构 77
5.5.3 检索模板 78
5.5.4 用修改过的LDAP方案创建用户 79
第6章 服务管理 80
6.1 概述 80
6.1.1 XML服务文件 80
6.1.2 文档类型定义结构文件 81
6.1.3 服务管理SDK 81
6.2 服务定义 81
6.2.1 定义服务 82
6.2.2 创建服务文件 82
6.2.3 扩展目录服务器方案 85
6.2.4 导入XML服务文件 87
6.2.5 配置本地化属性 88
6.3 DTD文件 89
6.2.6 更新抽象对象的文件 89
6.2.7 注册服务 89
6.3.1 sms.dtd结构 90
6.3.2 amAdmin.dtd结构 98
6.4 XML文件 113
6.4.1 默认XML服务文件 113
6.4.2 批处理XML文件 116
6.4.3 定制“用户”页面 118
6.5 服务管理SDK 118
第7章 策略服务 119
7.1 什么是策略 119
7.1.1 策略服务 119
7.1.2 体系结构 120
7.1.3 策略类型 121
7.1.4 主题 122
7.2 策略定义类型文档 122
7.2.1 Policy元素 123
7.2.2 Rule元素 123
7.2.3 ServiceName元素 123
7.2.4 ResourceName元素 123
7.2.5 AttributeValuePair元素 124
7.2.6 Subjects元素 124
7.2.7 Subject元素 124
7.2.8 Referrals元素 124
7.3.1 策略评估Java API 125
7.3 用于策略的Java SDK 125
7.2.10 Conditions元素 125
7.2.11 Condition元素 125
7.2.9 Referral元素 125
7.3.2 策略管理Java API 126
7.3.3 策略插件Java API 127
7.4 用于策略的C库 128
7.4.1 用于策略评估的C API 128
7.4.2 am properties_t 140
7.4.3 信息与实用程序API 146
7.4.4 am 147
7.4.5 am policy 149
7.4.6 特殊化方法 153
7.4.7 初始化变量 155
7.4.8 用于Web代理的特殊化方法 156
7.4.9 初始化变量 167
第8章 使用SAML服务 169
8.1 概述 169
8.1.1 断言类型 170
8.1.2 配置文件类型 171
8.1.3 SAML SOAP接收者 173
8.1.4 访问SAML服务 175
8.2 amSAML.xml 175
8.3 SAML SDK 175
8.3.2 com.sun.identity.saml.assertion 176
8.3.1 com.sun.identity.saml 176
8.3.3 com.sun.identity.saml.common 177
8.3.4 com.sun.identity.saml.plugins 177
8.3.5 com.sun.identity.saml.protocol 177
8.3.6 com.sun.identity.saml.xmlsig 179
8.4 SAML服务示例 179
第9章 联合管理 180
9.1 概述 180
9.1.1 自由联盟项目 180
9.1.2 自由联盟规范概念 181
9.2 联合管理过程 182
9.3 联合管理API 185
9.4 定制联合管理模块 186
9.5 联合管理示例 187
第10章 日志记录服务 188
10.1 概述 188
10.1.1 日志记录体系结构 188
10.1.2 日志记录服务XML文件 189
10.1.3 日志安全 189
10.2 日志消息格式 190
10.2.1 平面文件格式 190
10.2.2 关系数据库格式 190
10.3.1 Logger类 191
10.3.2 LogRecord类 191
10.3 日志记录API 191
10.3.3 日志记录异常 192
10.3.4 日志记录代码示例 192
10.4 日志记录SPI 193
10.4.1 日志验证程序插件 193
10.4.2 授权机制插件 193
10.5 日志文件 194
10.5.1 有关SSO的日志 194
10.5.2 有关控制台的日志 194
10.5.3 有关验证的日志 194
10.5.4 有关联合的日志 194
10.7 安全日志记录 195
10.6 调试文件 195
第11章 客户端检测 196
11.1 概述 196
11.2 客户端数据 197
11.3 客户端检测API 197
第12章 Identity Server实用程序 204
12.1 备份与恢复 204
12.1.1 备份脚本 204
12.1.2 恢复脚本 206
12.2 实用程序API 207
附录A AMConfig.properties文件 210
附录B 目录服务器概念 223