配置 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 介面。

程序

  1. 建立 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;
    
        // Liberty 執行時期會呼叫此方法
        // 來取得 AuthConfigProvider 類別的實例
        @Override
        public AuthConfigProvider getAuthConfigProvider(Map<String, String>,
                                                   AuthConfigFactory factory)
       {
            return new SampleAuthConfigProvider(configProps, factory);
       }
    
        protected void activate(ComponentContext cc) {
            // 必要時,會讀取這裡的提供者配置內容,        // 然後傳遞給 AuthConfigProvider Factory。
            // 此範例會讀取 OSGi
            // 元件定義中的內容。
            configProps = (Map<String, String>) cc.getProperties();
        }
    
        protected void deactivate(ComponentContext cc) {}
    }
  2. 將該元件與您的 JASPIC 鑑別提供者一起包裝成 OSGi 軟體組,成為您使用者特性的一部分。
  3. 確定您的特性包含 OSGi 子系統內容:com.ibm.websphere.appserver.jaspic-1.1; type="osgi.subsystem.feature"
  4. 將特性安裝到使用者產品延伸位置之後,利用特性名稱來配置 server.xml 檔。例如:
    <featureManager>
       ...
       <feature>usr:myJaspiProvider</feature>
    </featureManager>

指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
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