在WebSphere Application Server Community Edition中配置Kerberos验证

WebSphere Application Server Community Edition 目前不支持 Kerberos 验证。本文介绍如何利用 IBM Java Platform 提供的 Kerberos,实现在 WebSphere Application Server Community Edition 中执行 Kerberos 验证。

简介

IBM WebSphere Application Server Community Edition V2.1.1.2 (以下简称为 Community Edition)是一个基于 Apache Geronimo 2.1.4 的免费 Java Platform, Enterprise Edition 5.0 (Java EE 5) 认证应用服务器。Community Edition 使用 Java Authentication and Authorization Service (JAAS) 登录模块在 Web 应用程序中进行用户验证,使用 Java Authorization Contract for Containers (JACC) 进 行授权。

Kerberos 是由麻省理工学院开发的验证协议。Kerberos 协议允许在不安全的计算机网络上通信的计算机节点以一种安全的方式互相验证。 Kerberos 协议的最新版本为 Version 5。

Community Edition 并不提供 Kerberos 协议实现。在本文中,您将利用 IBM Java Platform 提供的 Kerberos 协议实现在 Community Edition 中验证用户并对用户授权。为实现本文的目的,我们使用一个 Microsoft Active Directory 服务器(以下简称为 Active Directory)作为一个用户资源库。本文需要 WebSphere Application Server Community Edition V2.1.1.2 或更高版本。

Kerberos: 它是如何工作的?

Kerberos 使用对称密匙密码系统,需要一个称为 Key Distribution Center (KDC) 的可信第三方,KDC 包含一个 Authentication Server (AS) 和一个 Ticket Granting Server (TGS)。KDC 维护一个秘密密匙数据库。网络上的每个实体(用户或服务)都 与 KDC 共享一个秘密密匙,这个秘密密匙只有 KDC 和实体自身知晓。这样,通过这个秘密密匙就可以对实体进行身份验证。Kerberos 使用票 据(ticket),称为 “Kerberos 票据”,该票据拥有时间戳且存在时间很短。因此,实体必须保持时间同步。

实体使用一个共享秘密(通常是密码)对 Authentication Server 进行验证,并接收一个 Ticket Granting Ticket (TGT)。然后它联系 Ticket Granting Server,使用 TGT 验证其身份并请求一个服务。TGS 验证该实体是否有权使用服务并发送一个 Service Ticket (ST)。该实 体然后联系 Service Server (SS),使用 ST 证明自己有权利用服务,然后实际使用服务。实体能够重复使用 TGT 获取额外的 ST 以使用 SS ,无需再次使用 AS 验证自己。Kerberos 协议经过特殊设计,无需在网络上传播共享秘密(如密码)就可以进行验证。使用 Kerberos 验证时 ,用户通常使用一个输入设备(如键盘)输入他们的凭证,而服务使用一个 Keytab 文件存储用户凭证,并使用它们对 KDC 进行验证。

Kerberos 和 Community Edition

Community Edition 不 提供 Kerberos 协议的实现。IBM Java Platform 通过 com.ibm.security.auth.module.Krb5LoginModule 类提供 Kerberos 协议的一个实现。为了利用 Java Platform 提供的 Kerberos 实现,我们创建一个包装 Krb5LoginModule 的 LoginModule 实现, 并将所有 LoginModule API 调用委托给 Krb5LoginModule。KerberosLoginModule 的代码如清单 1 所示。

时间: 2024-09-20 18:23:02

在WebSphere Application Server Community Edition中配置Kerberos验证的相关文章

WebSphere Application Server Community Edition中的应用程序日志记录

引言 应用程序日志记录提供了捕获在应用程序执行期间发生的各种事件的方法.它将收集关于应用程序在执行各种任务时在做什么的详细信息.此信息在调试.故障排除甚至审核方面很有用.WebSphere Application Server Community Edition(以下称为 Community Edition)提供了各种库,可帮助应用程序开发人员配置日志记录服务.这些库是: Log4j SLF4j java.util.logging java.util.logging 包是可用于所有标准 Java

在WebSphere Application Server Community Edition上运行PHP

简介:在 web 开发中 PHP 一直占据着一席之地,无论是小型规模的 web 应用,还是像 Yahoo 这样 的大型网站.PHP 和 Java 一直是以竞争对手的形式出现,如果我们能够同时使用 PHP 和 Java,那么这 种互相竞争的现状就可能改变.把 PHP 的灵活性和 Java 的强大功能结合起来,开发 web 应用可能不再 像今天这么复杂,而会变成一种享受.本文将介绍一种可以结合使用 PHP 和 Java 的方法,通过 PHP Integration Kit 让 IBM 的开源服务器

为WebSphere Application Server Community Edition开发富Internet应用程序

本文配套源码 引言 Ajax(异步JavaScript和XML)术语用于表示一组支持创建富Internet应用程序 (Rich Internet Application) 的技术.通过使用这些技术,可以创建响应能力强且具有与桌面应用程序类似的丰富用户界面的Web应用程序.这些技术允许在后台以异步方式检索数据,而不会影响所显示的页面,而且可以仅请求数据,而不用请求整个HTML页面.可以使用现在的浏览器提供的XmlHttpRequest或等效对象进行此异步后台通信. IBM WebSphere Ap

为WebSphere Application Server Community Edition V2.1构建WADI集群环境

从 WebSphere Application Server Community Edition ( 以下简称 WAS CE) 版本 2.1 以来,WAS CE 在 Tomcat native 集群之外,新增了对 WADI 集群的支持.相比于 Tomcat native 集群,WADI 集群同样提供了集群成员间 Session 复制来避免单点失效并实现灾难恢复,同时利用负载平衡来提高应用程序的可用性.另外在一个部署了 Farming 的 WAS CE 集群环境中,如果您在某个节点上进行应用程序部

在WebSphere Application Server Liberty配置文件中启用OAuth

Ohttp://www.aliyun.com/zixun/aggregation/11646.html">Auth 一直是 Web 应用程序委托授权的事实标准.除了委托访问权限之外,OAuth 也越来越多地用于传统身份验证和授权角色,云和移动技术的普遍化趋势更推动了这种形势.2012 年,OAuth 2.0 规范最终敲定,许多企业很快就采用了新协议. 为了支持 OAuth 2.0 规范,IBM WebSphere Application Server V8.5.0.2 的 Liberty

使用WebSphere Application Server V8.5中的Admin Command Framework产品

IBM http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server V8.5 中的 Admin Command Framework (ACF) 提供了用户友好.以任务为导向的命令来执行管理任务.因为它是一个框架,所以所有命令都遵循相同的语法且易于使用.借助这些命令,WebSphere Application Server 为您提供了通过 JMX (Java Management Exten

WebSphere Application Server Community Edition入门

引言 IBM WebSphere Application Server Community Edition 是在 Apache Geronimo 之上构建的 Java 2 Platform, Enterprise Edition (J2EE) 应用服务器,由 Apache Foundation 创建的开放源代码应用服务器. 什么时候使用 WebSphere Application Server Community Edition 什么时候应该使用 WebSphere Application Se

了解EJB调用如何在WebSphere Application Server V6.1中操作

序使用部署在 IBM WebSphere Application Server 中的 EJB Enterprise JavaBeans (EJB).与这些 EJB 组件通信需要使用到诸如 Internet ORB 间协议(Internet Inter-ORB Protocol,IIOP) 通信.JNDI 查找和工作负载管理等概念.此交互可能非常复杂,对许多 WebSphere 用户来说通常是个黑盒.本文提供有关 EJB 通信如何在 WebSphere Application Server 上下文

自定义WebSphere Application Server中的LDAP适配器的日期格式

本文介绍如何在 Virtual Member Manager 中实现这种自定义.Virtual Member Manager 是 IBM http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server 的一个组件,它合并了 WebSphere Application Server 存储库中的一些现有功能.WebSphere Member Manager(来自 IBM WebSphere Por