安全性

Liberty 安全性依照 Servlet 3.0 规范提供对 Web 资源的保护,依照 ejbLite 3.1 规范提供对 EJB 资源的保护。Liberty 安全性还在您使用 REST 连接器的情况下提供对 JMX 连接的保护。

下图显示了访问受保护 Web 资源时涉及的典型安全性过程。要使安全性过程工作,必须配置适当的安全性功能部件,以及设置认证和授权所需的配置。

图 1. Web 资源的典型安全性流程
WebSecurity 协调程序使用认证和授权服务来认证和授予对 Web 容器中的 Web 资源的访问权。
  1. HTTP 客户端请求 WebContainer 中的 Web 资源。
  2. WebContainer 将安全性检查委派给 WebSecurity 协调程序。
  3. WebSecurity 协调程序提示用户输入凭证(如果没有),并使用认证服务来认证用户。
  4. 认证服务认证、创建和返回主体集(如果认证成功)。否则,认证服务会报告认证失败异常。
  5. WebSecurity 协调程序使用授权服务来执行用户授权检查。
  6. 授权服务将授权结果返回给 WebSecurity 协调程序。
  7. WebSecurity 协调程序返回用户是否已获授权的安全性检查结果。
  8. WebContainer 处理或拒绝所请求的资源。

快速入门

使用 quickStartSecurity 元素,可以在 Liberty 中配置单用户安全性环境。请参阅安全性快速概述以了解当您使用 quickStartSecurity 元素时安全性工作流程的详细信息;请参阅 Liberty 安全性入门以获取样本任务。

认证

认证确认用户的身份。最常用的认证形式是用户名和密码,例如通过基本认证或者用于 Web 应用程序的表单登录。认证用户时,请求源在运行时表示为 Subject 对象。此过程涉及在用户访问资源时,根据为资源配置的授权规则来执行访问控制检查。请参阅认证以了解更多概念;参阅在 Liberty 中认证用户以获取详细任务。

授权

授权确定是否要授予用户对系统中资源的访问权。Java™ EE 模型使用主体集、资源和角色来确定哪些可以做,哪些不可以做。此过程涉及检查用户凭证(例如用户标识和密码、证书以及令牌),以及根据已认证的用户来创建主体集。请参阅Authorization以了解更多概念;参阅授予对 Liberty 中资源的访问权以获取详细任务。

安全套接字层 (SSL)

SSL 提供传输级别安全性。请参阅在 Liberty 中启用 SSL 通信以获取详细任务。

单点登录 (SSO)

SSO 支持在不多次提示用户进行登录的情况下访问应用程序。请参阅 SSO 的概念以了解更多详细信息;参阅在 Liberty 中使用 LTPA Cookie 来定制 SSO 配置以获取详细的任务。

Web 安全性相关属性

可以将许多配置属性(例如,SSO 和客户机证书认证)配置为应用程序的 Web 安全性的一部分。请参阅在 Liberty 中使用 LTPA Cookie 来定制 SSO 配置Web Service 安全性以获取可用的属性;参阅在 Liberty 中配置与 Web 安全性相关的属性以获取一些示例。

安全性公用 API

Liberty 包含可用来实现安全性功能的公用 API。Liberty 中的安全性公用 API 是 WebSphere® Application Server 传统版安全性公用 API 的子集。主要类是 WSSecurityHelperWSSubjectRegistryHelper。这些类包含 WebSphere Application Server 传统版中可用的方法的子集。此外,还有一个新类 WebSecurityHelper请参阅Liberty 中的安全性公用 API

每个 Liberty API 的 Java API 文档均于在线 IBM® Knowledge Center 的编程接口 (Javadoc) 部分中详细说明,而且还可以在 ${wlp.install.dir}/dev 目录的某个 javadoc 子目录下的单独 .zip 文件中找到。

请参阅开发 Liberty 安全性基础结构的扩展以了解一些示例。

管理安全性

管理安全性意味着您可以使用远程 JMX 客户机来管理 Liberty。要使用 REST 连接器来保护远程连接,请参阅使用 JMX 连接至 Liberty。您还可以开发您自己的 JMX 客户机应用程序,如为 Liberty 开发 JMX Java 客户机中所述。

认证别名

认证数据别名为数据库连接提供安全性支持。请参阅为 Liberty 配置认证别名

配置示例和样本

在 Liberty 上配置应用程序的安全性时,可以参考 WASdev.net Web 站点上的若干个安全性配置示例。

安全兼容性和差异

可以了解 WebSphere Application Server 传统版Liberty 在安全性功能上的主要差异。请参阅 WebSphere Application Server 传统版 与 Liberty 之间的安全配置差异

配置轻量级目录访问协议 (LDAP)

选择要添加至服务器配置的 LDAP 用户注册表项后,LDAP 用户注册表详细信息面板将显示受支持 LDAP 服务器类型列表。如果选择受支持的 LDAP 服务器类型,那么系统不会自动预填充与所选 LDAP 服务器类型相关联的 LDAP 过滤器。

每个受支持 LDAP 服务器类型都定义了一组缺省过滤器。添加 LDAP 用户注册表项和服务器类型后,可通过选择 LDAP 用户注册表配置并添加所需 LDAP 过滤器来配置关联 LDAP 过滤器:
  • Active Directory LDAP 过滤器
  • 定制 LDAP 过滤器
  • Domino® LDAP 过滤器
  • eDirectory LDAP 过滤器
  • IBM Directory Server LDAP 过滤器
  • iPlanet LDAP 过滤器
  • Netscape LDAP 过滤器
  • SecureWay LDAP 过滤器
选择任何 LDAP 过滤器时都会显示过滤器类型的缺省值:
  • 用户过滤器
  • 组过滤器
  • 用户标识映射
  • 组标识映射
  • 组成员标识映射
如果使用缺省过滤器,那么系统不会使用任何过滤器信息来更新 server.xml 文件。如果任何过滤器发生更改,那么只会在 server.xml 中更新所更改过滤器类型。
注: 如果未指定引用标识或未使用浏览按钮选择引用标识,那么将使用与所选 LDAP 服务器类型相关联的缺省过滤器。

或者,可向服务器配置添加 LDAP 过滤器。必须指定标识以使该引用与此特定过滤器配置相关联,从而使其与 LDAP 用户注册表配置相关联。如果使用此方法来配置 LDAP 过滤器,那么该引用标识在 LDAP 用户注册表详细信息面板上将会被选中(在对应 LDAP 过滤器类型下使用浏览按钮定位)。

如果要使用基于 Eclipse 的开发者工具来配置 LDAP,请针对 wlp/templates/config/ldapRegistry.xml 中的样本来验证所保存配置。

有关更多信息,请参阅在 Liberty 中配置 LDAP 用户注册表

故障诊断

使用故障诊断信息来解决使用 Liberty 时的安全性相关问题。请参阅安全性故障诊断LDAP 故障诊断

For distributed platforms

工具

通过对 Liberty 使用基于 Eclipse 的开发者工具来配置安全性。请参阅使用开发者工具来编辑 Liberty 配置。有关工具和安全配置的特定信息,请参阅使用开发者工具在 Liberty 上配置 TAI使用开发者工具在 Liberty 上配置 JAAS


用于指示主题类型的图标 概念主题

文件名:cwlp_sec.html