鑑別連接到傳訊引擎的使用者

您必須驗證使用者認證,以便能夠鑑別使用者來連接傳訊引擎。

程序

  1. 配置使用者登錄。
    Liberty 支援下列登錄類型:
    • QuickStartSecurity(只支援單一使用者)。

      這個選項是指定使用者名和密碼來鑑別應用程式連線最簡單的方法。 您可以利用 <quickStartSecurity> 元素,來啟用 Liberty 的簡式(單一使用者)安全設定。請在 server.xml 檔中定義下列 <quickStartSecurity> 元素。

      在下列範例中,<quickStartSecurity> 元素用來定義名稱為 liberty、密碼為 liberty123 的單一使用者。
      <quickStartSecurity userName="liberty" userPassword="liberty123"/>
      註: 請確定在 server.xml 檔中,沒有指定原始密碼(例如 liberty123)。 如果要將密碼編碼,請使用 Liberty 所提供的安全公用程式工具。
      <WLP_HOME>\wlp\bin>securityUtility encode "liberty123"

      如需維護密碼安全的相關資訊,請參閱securityUtility 指令

    • 基本使用者登錄(支援多重使用者及使用者群組宣告)。
      您可以配置 Liberty,利用基本使用者登錄來鑑別和授權使用者。您可以在 Liberty 伺服器的 server.xml 檔中,設定基本使用者登錄及配置多重角色對映。
      註: <basicRegistry> 的配置會置換 <quickStartSecurity> 登錄。
      <basicRegistry id="basic" realm="customRealm">
      	<user name="user1" password="user1pwd" />
      	<user name="user2" password="user2pwd" />
      	<user name="user3" password="user3pwd" />
      	<user name="user4" password="user4pwd" />
      	<user name="user5" password="user5pwd" />
      	<user name="user6" password="user6pwd" />
      	<user name="user7" password="user7pwd" />
      	<user name="user8" password="user8pwd" />
      	<group name="Developers">
      		<member name="user2" />
      		<member name="user4" />
      	</group>
      	<group name="Testers">
      		<member name="user8" />
      		<member name="user7" />
      	</group>
      </basicRegistry>
    • 「輕量型目錄存取通訊協定 (LDAP)」登錄(外部登錄,例如 Microsoft Active Directory 和 IBM Directory Server)。
      您可以使用 Liberty 來配置 LDAP 伺服器,以進行鑑別。
      <ldapRegistry id="LDAP" realm="SampleLdapIDSRealm" host="ctldap1.austin.ibm.com" port="389"
          ignoreCase="true" baseDN="o=ibm,c=us"
          ldapType="IBM Tivoli Directory Server"
          idsFilters="ibm_dir_server"
          searchTimeout="8m"> 
              <failoverServers name="failoverLdapServers"> 
              	<server host="ralwang.rtp.raleigh.ibm.com" port="389"/>  
              </failoverServers> 
      </ldapRegistry>
      附註:
      • LDAP 登錄中所指定的任何使用者名稱和密碼,都可以指定在 Connection Factory 中。
      • server.xml 檔中,您只能定義一個登錄類型(基本登錄或 LDAP 登錄)。
    如需配置登錄的相關資訊,請參閱在 Liberty 中配置使用者登錄
  2. 配置應用程式鑑別。
    根據 server.xml 檔所指定的使用者登錄,您可以依照下列方式來配置您的應用程式:
    • 在 JMS 資源(也就是在 Connection Factory 及啟動規格內容)中指定使用者名稱和密碼。
      使用 Connection Factory 的應用程式會根據 Connection Factory 中所指定的使用者名稱和密碼來進行鑑別。
      <jmsQueueConnectionFactory jndiName="myQCF" connectionManagerRef="ConMgr4">
      		<properties.wasJms userName="liberty" password="liberty123"
      		remoteServerAddress="localhost:7276:BootstrapBasicMessaging">
      	</properties>
      </jmsQueueConnectionFactory>
      <connectionManager id="ConMgr4" maxPoolSize="2"/>

      在上述範例中,尋找 myQCF Queue Connection Factory 的應用程式會自動根據針對所配置之登錄而定義的使用者名稱 liberty 和密碼 liberty123 來進行鑑別。

      註: 指定的連線內容所查閱的是 jms/myQCF 路徑(而非 java:comp/env/jms/myQCF 路徑)中的 myQCF
    • 在 JMS 應用程式中指定使用者名稱和密碼。
      註: JMS 應用程式中指定的使用者名稱和密碼會置換 Connection Factory 中所指定的使用者名稱和密碼。
      應用程式會查閱 Connection Factory 內容,然後傳遞使用者名稱和密碼來進行認證鑑別。
      server.xml
      --------------------
      <jmsQueueConnectionFactory jndiName="myQCF" connectionManagerRef="ConMgr4">
      	<properties.wasJms
      		remoteServerAddress="localhost:7276:BootstrapBasicMessaging">
      	</properties>
      </jmsQueueConnectionFactory>
      <connectionManager id="ConMgr4" maxPoolSize="2"/>
      
      應用程式 Snippet
      ------------------
      QueueConnectionFactory qcf = (QueueConnectionFactory) new InitialContext().lookup("myQCF");
      QueueConnection qCon = qcf.createQueueConnection("liberty", "liberty123");
    • 在 <containerAuthDataRef> 元素中指定使用者名稱和密碼。
      當連結沒有利用 res-auth=CONTAINER 來指定資源參照的鑑別別名時,可以套用儲存器管理之鑑別的預設鑑別資料。 服務整合匯流排資源必須依照下列方式來定義及參照 <authData> 元素:
      <authData id="auth1" user="liberty" password="liberty123"/>
      
      <jmsQueueConnectionFactory jndiName="myQCF"
      	containerAuthDataRef=”auth1” connectionManagerRef="ConMgr4">
            <properties.wasJms/>
      </jmsQueueConnectionFactory>
      <connectionManager id="ConMgr4" maxPoolSize="2"/>
      
       web.xml
       ----------
         <resource-ref>
          <res-ref-name>jndi/myQCF</res-ref-name>
          <res-auth>Container</res-auth>
          <res-type>javax.jms.QueueConnectionFactory</res-type>
          <lookup-name>jndi/myQCF</lookup-name>
        </resource-ref>
    配置之後,需要指派必要角色給已鑑別的使用者,才能安全存取傳訊資源。請參閱 授權使用者連接傳訊引擎

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

檔名:twlp_msg_sec_authenticate.html