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 中的節點服務。 此設定也用來指定叫用的程式,以有效的使用者標識碼和密碼叫用,接著會叫用另一個程式(如 TP 之間的通訊所示)。 例如,假設程式 A 會叫用具有有效使用者識別碼和密碼的程式 B,而程式 B 接著會叫用程式 C。如果程式 B 指定值CM_SECURITY_SAME,CPI-C 會傳送程式 C 的 LU、來自程式 A 的使用者識別碼,以及已驗證的指標。 此指標會告知程式 C 不需要密碼(如果程式 C 已設定為接受已驗證的指標)。
使用CM_SECURITY_SAME時,您的應用程式必須一律呼叫 Set_Conversation_Security_User_ID 和 Set_Conversation_Security_Password ,以提供 security_user_ID 和 security_password 參數的值。 根據 SNA 伺服器與對等 LU 之間交涉的屬性, Allocate 函式會以下列優先順序傳送下列 3 種 Attach (FMH-5) 訊息的其中一種:
如果 RU 已交涉已驗證安全性,SNA 伺服器所傳送的附加將不會包含Set_Conversation_Security_Password所指定之security_password參數位段的內容。
如果 RU 已交涉持續驗證安全性,SNA 伺服器所傳送的 Attach 將會包含 Set_Conversation_Security_Password 所指定的security_password參數,但只有當 Attach 是 Set_Conversation_Security_User_ID自 LU-LU 會話開始之後所設定的指定security_user_ID參數的第一個時,且會在後續所有附加專案上省略security_password參數(由您的應用程式或任何其他應用程式使用這個 LU-LU 模式三重項)。
您的應用程式無法判斷 RU 之間已交涉的安全性模式,也無法判斷它所發出的 Allocate 函式是否為該 LU-LU 模式三重項的第一個。 因此,當conversation_security_type設定為 CM_SECURITY_SAME 時,您的應用程式必須一律呼叫 Set_Conversation_Security_User_ID 和 Set_Conversation_Security_Password 來設定security_user_ID和security_password參數。
如需持續驗證和已驗證安全性的詳細資訊,請參閱 SNA 格式指南,
如果要使用 CPI-C 自動登入功能,則必須將此參數設定為CM_SECURITY_PROGRAM。 如需詳細資訊,請參閱本主題稍後的一節。
return_code
從這個呼叫傳回的程序代碼。 本主題稍後會列出有效的傳回碼。
回傳代碼
CM_OK
主要傳回碼;已成功執行的呼叫。
CM_PROGRAM_STATE_CHECK
主要傳回碼;交談不是處於 INITIALIZE 狀態。
CM_PROGRAM_PARAMETER_CHECK
主要傳回碼; conversation_ID 或 conversation_security_type 指定的值無效。
CM_PRODUCT_SPECIFIC_ERROR
主要傳回碼;發生產品特定的錯誤,且已在產品錯誤記錄檔中記錄。
狀態變更
交談必須處於 INITIALIZE 狀態。
沒有狀態變更。
備註
此呼叫會從 Initialize_Conversation所指定的側邊資訊覆寫初始安全性類型。 發出 [配置 ] 之後,便無法發出此呼叫。
如果交談安全性類型設定為 CM_SECURITY_NONE,則會在配置交談時忽略使用者標識碼和密碼。
CM_SECURITY_SAME的交談安全性類型適用於具有相同使用者標識碼集的節點,以及接受在一個節點上執行的用戶驗證,以驗證所有節點的使用者。 在此案例中不會使用密碼,但使用者標識碼的初始驗證除外。
主機整合伺服器支援自動登入 CPI-C 應用程式。 這項功能需要網路管理員的特定設定。 CPI-C 應用程式必須在 LAN 端從 SNA 伺服器的用戶端叫用。 客戶端必須登入Microsoft Windows 網域,但可以是任何支援 SNA Server CPI-C API 的平臺。
用戶端應用程式會編碼為使用程式層級安全性,並具有特殊的硬式編碼 CPI-C 用戶名稱 MS$SAME 和密碼 MS$SAME。 當此工作階段配置從用戶端流向 SNA 伺服器時,SNA 伺服器會查閱與用戶端登入所在的 Windows 帳戶對應的主機帳戶和密碼,並將主機帳戶資訊取代為它傳送至主機的 APPC 附加訊息。