鑑別連接到傳訊引擎的使用者
您必須驗證使用者認證,以便能夠鑑別使用者來連接傳訊引擎。
程序
- 配置使用者登錄。 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"
如需維護密碼安全的相關資訊,請參閱Liberty: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 登錄)。
- QuickStartSecurity(只支援單一使用者)。
- 配置應用程式鑑別。
根據 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>
- 在 JMS 資源(也就是在 Connection Factory 及啟動規格內容)中指定使用者名稱和密碼。
上層主題: 啟用 Liberty 的安全 JDBC 傳訊


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_msg_sec_authenticate
檔名:twlp_msg_sec_authenticate.html