配置 Java Authentication SPI for Containers (JASPIC) 用户功能部件
通过使用 Liberty 服务器中提供的 com.ibm.wsspi.security.jaspi.ProviderService 接口,可开发 JASPIC 提供程序以认证入站 Web 请求。
关于此任务
Java™ Authentication SPI for Containers 规范 JSR 196 为认证服务提供程序定义接口。在 Liberty 服务器中,必须将 JASPIC 提供程序打包为用户功能部件。您的功能部件必须实现 com.ibm.wsspi.security.jaspi.ProviderService 接口。
过程
- 创建 OSGi 组件,该组件提供用于实现 com.ibm.wsspi.security.jaspi.ProviderService 接口的服务。
ProviderService 接口定义 getAuthConfigProvider 方法,Liberty 运行时调用此方法以检索用于实现 javax.security.auth.message.config.AuthConfigProvider 接口的 JASPIC 提供者类的实例。
以下示例使用 OSGi 声明式服务注释:@package com.mycompany.jaspi; import java.util.Map; import javax.security.auth.message.config.AuthConfigFactory; import javax.security.auth.message.config.AuthConfigProvider; import org.osgi.service.component.ComponentContext; import com.mycompany.jaspi.SampleAuthConfigProvider; import com.ibm.wsspi.security.jaspi.ProviderService; @Component(service = { ProviderService.class }, configurationPolicy = ConfigurationPolicy.IGNORE, immediate = true, property = { "myPoviderPoperty1=value1", "myPoviderPoperty2=value2"}) public class SampleJaspiProviderService implements ProviderService { Map<String, String> configProps = null; // This method called by the Liberty runtime // to get an instance of AuthConfigProvider @Override public AuthConfigProvider getAuthConfigProvider(Map<String, String>, AuthConfigFactory factory) { return new SampleAuthConfigProvider(configProps, factory); } protected void activate(ComponentContext cc) { // Read provider config properties here if needed, // then pass them to the AuthConfigProvider factory. // This example reads the properties from the OSGi // component definition. configProps = (Map<String, String>) cc.getProperties(); } protected void deactivate(ComponentContext cc) {} }
- 将该组件与您的 JASPIC 认证服务提供程序一起打包成用户功能部件中的 OSGi 捆绑软件。
- 确保您的功能部件包含 OSGi 子系统内容:com.ibm.websphere.appserver.jaspic-1.1; type="osgi.subsystem.feature"。
- 将功能部件安装到用户产品扩展位置之后,使用功能部件名称来配置 server.xml 文件。例如:
<featureManager> ... <feature>usr:myJaspiProvider</feature> </featureManager>


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_developing_jaspic_auth_provider
文件名:twlp_developing_jaspic_auth_provider.html