Liberty 中配置 RunAs 鑑別

您可以配置 Liberty 的執行身分規格,以便將鑑別委派給另一個身分。

關於這項作業

通過將指定的使用者身分和選用的密碼對映至 RunAs 角色,您可以將鑑別程序委派給具備 RunAs 角色的使用者。

您必須啟用 appSecurity-2.0servlet-3.0 Liberty 特性,且您的應用程式必須有一個使用者登錄,您才能配置 RunAs 角色。

如需 RunAs 鑑別的相關資訊,請參閱RunAs() 鑑別

如果要配置 RunAs 鑑別,請完成下列步驟:

程序

  1. server.xml 檔案中啟用 appSecurity-2.0servlet-3.0 Liberty 特性。
  2. 配置您應用程式的使用者登錄。
  3. 在應用程式的部署描述子中,指定 <run-as> 元素。

    下列 web.xml 檔範例指定將後續呼叫委派給對映至 Employee 角色的使用者:

         <servlet id="Servlet_1">
              <servlet-name>RunAsServlet</servlet-name>
              <display-name>RunAsServlet</display-name>
              <description>RunAsServlet</description>
              <servlet-class>web.RunAsServlet</servlet-class> 
              <run-as>
                   <role-name>Employee</role-name> 
              </run-as>
          </servlet>    
  4. 適用於分散式平台將您在上一步驟指定的角色對映至使用者。 您可以在 ibm-application-bnd.xmi/xmlserver.xml 檔中執行這個動作。 在 <run-as> 元素中,您必須指定一個使用者名稱。 如果您使用 ibm-application-bnd.xml 檔,必須有密碼;如果您使用 server.xml 檔,密碼是選用的。 如果需要密碼,請利用 /bin 目錄中的 securityUtility encode 指令來對密碼進行編碼。如需 securityUtility 指令的相關資訊,請參閱securityUtility 指令

    下列範例在 server.xml 檔的 <application-bnd> 元素中使用 <run-as>元素,這裡 Employee 角色已對映至執行身分使用者 user5

         <application-bnd>
              <security-role name="Employee">
                   <user name="user1" />
                   <user name="user5" />
                   <run-as userid="user5" password="{xor}Lz4sLCgwLTs=" />
              </security-role>
         </application-bnd>   
    註:
    • 由於 server.xml 檔中的密碼是選用的,您也可以將下列程式碼用於沒有密碼的使用者:
          <application-bnd>
                <security-role name="Employee">
                     <user name="user1" />
                     <user name="user5" />
                     <run-as userid="user5" />
                 </security-role>
           </application-bnd>   
    • 如果您在 server.xml 檔中指定了 <application-bnd> 元素,您的應用程式不能放在 dropins 資料夾中。 如果您將應用程式保留在 dropins 資料夾中,您必須在 server.xml 檔中設定如下,將應用程式監視停用:
      <applicationMonitor dropinsEnabled="false" />

    RunAs 使用者名稱必須是唯一的,且不存在於外部帳戶中。例如,如果您使某個使用者接受 SAML 身分提供者或 OpenID Connect 提供者的鑑別,請確定 RunAs 使用者名稱不是位於這些外部帳戶中。

    如需 run-as 元素的相關資訊,請參閱 Java Servlet 3.0


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

檔名:twlp_sec_runas.html