共用方式為


Set_Conversation_Security_Type (CPI-C)

叫用程式會發出 Set_Conversation_Security_Type呼叫 ( 函式名稱 cmscst) ,以指定 LU) (夥伴邏輯單元) 需要驗證對叫用程式的存取權。

語法

  
CM_ENTRY Set_Conversation_Security_Type(   
  unsigned char FAR *conversation_ID,          
  CM_INT32 FAR *conversation_security_type,    
    CM_INT32 FAR *return_code                    
);  

參數

conversation_ID
提供的 參數。 指定交談的識別碼。 此參數的值是由 Initialize_Conversation傳回。

conversation_security_type
提供的 參數。 指定合作夥伴 LU 驗證所叫用程式的存取權所需的資訊。 根據在設定期間為叫用程式建立的交談安全性,使用下列其中一個值:

CM_SECURITY_NONE
表示叫用的程式不會使用交談安全性。

CM_SECURITY_PROGRAM
表示叫用的程式使用交談安全性,因此需要使用者識別碼和密碼。

CM_SECURITY_SAME
表示在配置要求上傳送使用者識別碼給合作夥伴 LU 中的節點服務。 此設定也可用來指定使用有效使用者識別碼和密碼叫用的叫用程式,接著會叫用另一個程式 (,如 TPS 之間的通訊) 所示。 例如,假設程式 A 會叫用具有有效使用者識別碼和密碼的程式 B,而程式 B 接著會叫用程式 C。如果程式 B 指定值CM_SECURITY_SAME,CPI-C 會傳送程式 C 的 LU、來自程式 A 的使用者識別碼,以及已驗證的指標。 如果程式 C 設定為接受已驗證的指標) ,此指標會告訴程式 C 不需要密碼 (。

使用CM_SECURITY_SAME時,您的應用程式必須一律呼叫 Set_Conversation_Security_User_IDSet_Conversation_Security_Password ,以提供 security_user_IDsecurity_password 參數的值。 根據 SNA 伺服器與對等 LU 之間交涉的屬性, Allocate 函式會以下列優先順序傳送 3 種附加 (FMH-5) 訊息的其中一種:

  1. 如果 RU 已交涉已驗證安全性,SNA 伺服器所傳送的附加將不會包含 Set_Conversation_Security_Password所指定之 security_password 參數欄位的內容。

  2. 如果 RU 已交涉持續性驗證安全性,SNA 伺服器所傳送的 Attach 將會包含Set_Conversation_Security_Password所指定的security_password參數,但只有在 Attach 是自 LU-LU 會話開始時,Set_Conversation_Security_User_ID所設定之指定security_user_ID參數的第一個時,才會在後續的 Attachs (上省略 security_password 參數,或您的應用程式或任何其他應用程式發出之附加 (使用此 LU-LU-mode triplet) 。

  3. 您的應用程式無法分辨 LU 之間已交涉的安全性模式,也無法判斷它所發出的 配置 函式是否為該 LU-LU 模式三倍的第一個模式。 因此,當conversation_security_type設定為 CM_SECURITY_SAME 時,您的應用程式必須一律呼叫Set_Conversation_Security_User_ID和Set_Conversation_Security_Password來設定security_user_ID和security_password參數。

    如需持續性驗證和已驗證安全性的詳細資訊,請參閱 SNA 格式指南,一節「FM 標頭 5:附加 (LU 6.2) 」。

    如果要使用 CPI-C 自動登入功能,則必須將此參數設定為 CM_SECURITY_PROGRAM。 如需詳細資訊,請參閱本主題稍後的一節。

    return_code
    從這個呼叫傳回的程式碼。 本主題稍後會列出有效的傳回碼。

傳回碼

CM_OK
主要傳回碼;已成功執行呼叫。

CM_PROGRAM_STATE_CHECK
主要傳回碼;交談不是處於 INITIALIZE 狀態。

CM_PROGRAM_PARAMETER_CHECK
主要傳回碼; 由 conversation_IDconversation_security_type 指定的值無效。

CM_PRODUCT_SPECIFIC_ERROR
主要傳回碼;發生產品特定的錯誤,且已在產品錯誤記錄檔中記錄。

狀態變更

交談必須處於 INITIALIZE 狀態。

沒有狀態變更。

備註

此呼叫會從 Initialize_Conversation所指定的側邊資訊覆寫初始安全性類型。 發出 配置 之後,就無法發出此呼叫。

如果交談安全性類型設定為 CM_SECURITY_NONE,則會在配置交談時忽略使用者識別碼和密碼。

CM_SECURITY_SAME的交談安全性類型適用于具有相同使用者識別碼的節點,以及接受在一個節點上執行的使用者驗證,以驗證所有節點的使用者。 此案例中不會使用密碼,但使用者識別碼的初始驗證除外。

主機整合伺服器支援 CPI-C 應用程式的自動登入。 這項功能需要網路系統管理員的特定設定。 必須從 SNA 伺服器的用戶端在 LAN 端叫用 CPI-C 應用程式。 用戶端必須登入 Microsoft Windows 網域,但可以是支援 SNA 伺服器 CPI-C API 的任何平臺。

用戶端應用程式會編碼為使用程式層級安全性,並具有特殊的硬式編碼 CPI-C 使用者名稱 MS$SAME 和密碼 MS$SAME。 當此會話配置從用戶端流向 SNA 伺服器時,SNA 伺服器會查閱對應至用戶端登入所在 Windows 帳戶的主機帳戶和密碼,並將主機帳戶資訊取代為它傳送至主機的 APPC 附加訊息。