IBTSTicket.ValidateAndRedeemTicket 方法 (COM)

 

會擷取與 BizTalk 訊息相關聯的認證。

語法

  
HRESULT ValidateAndRedeemTicket(  
IUnknown*  
punkMessage  
,  
BSTR  
bstrApplicationName  
,  
LONG  
lFlags  
,  
BSTR*  
pbstrExternalUserName  
,  
SAFEARRAY  
BSTR  
);  
  
  
HRESULT ValidateAndRedeemTicket(  
IUnknown*  
punkMessage  
,  
BSTR  
bstrApplicationName  
,  
LONG  
lFlags  
,  
BSTR*  
pbstrExternalUserName  
,  
SAFEARRAY  
BSTR  
);  
  
  
Function   
Ticket  
.ValidateAndRedeemTicket(  
punkMessage  
As Object,  
bstrApplicationName  
As String,  
lFlags  
As Long,  
pbstrExternalUserName  
As String  
)  
As String  
  

參數

punkMessage
[in]指定BizTalk Server訊息。

punkMessage
[in]指定BizTalk Server訊息。

bstrApplicationName
[in] 指定應用程式名稱的字串。 這個參數不可以是 NULL 或空字串,或是包含空格。 應用程式名稱不區分大小寫,但是將會保持大小寫。 "ABC"、"abc" 和 "AbC" 都會被視為相同的應用程式。

bstrApplicationName
[in] 指定應用程式名稱的字串。 這個參數不可以是 NULL 或空字串,或是包含空格。 應用程式名稱不區分大小寫,但是將會保持大小寫。 "ABC"、"abc" 和 "AbC" 都會被視為相同的應用程式。

lFlags
[in]指定旗標集的長整數。 使用旗標 Enterprise Single Sign-On Flags 略過認證快取。

lFlags
[in]指定旗標集的 Long。 使用旗標 Enterprise Single Sign-On Flags 略過認證快取

pbstrExternalUserName
[out]指定外部使用者名稱之字串的指標。

pbstrExternalUserName
[out]指定外部使用者名稱的字串。

傳回值

這個方法會傳回 HRESULT,指出它是否已成功完成。 如需詳細資訊,請參閱「錯誤值」一節。

包含外部認證的字串陣列。

例外狀況

這個方法會傳回 HRESULT,其中包含下表的一個值。

這個方法會將全域 Err 物件的 Number 屬性設定為下表的其中一個值,以指出錯誤:

描述
S_OK 此方法已成功。
E_ACCESSDENIED 拒絕呼叫者的存取。
E_INVALIDARG 偵測到無效的參數。

備註

這個方法會在贖回票證之前,會先驗證 Microsoft® BizTalk® Server 訊息的傳送者識別是否符合票證中的使用者識別。

由於這個方法是以純文字格式傳回認證,因此呼叫者應該小心,並在使用完畢之後盡快清除 (覆寫) 這些認證。

若要存取此方法,您必須是 SSO 系統管理員、SSO 分支機構系統管理員,或是應用程式系統管理員。

範例

using System;  
using System.Runtime.InteropServices;  
  
namespace Microsoft.BizTalk.PublicInterop  
{  
   // Only include flags that apply to these interfaces  
   // See the ssoflags.idl file  
  
   internal enum BTSTicketFlags  
   {  
      SSO_FLAG_NONE      = 0,  
      SSO_FLAG_REFRESH   = 1  
   };  
  
   [ComImport]  
   [TypeLibType(TypeLibTypeFlags.FCanCreate)]  
   [ClassInterface(ClassInterfaceType.None)]  
   [Guid("8DA848D0-E703-4043-9AF7-C569AC1F4507")]  
   internal class BTSTicket  
   {  
   }  
  
   [ComImport]  
   [InterfaceType(ComInterfaceType.InterfaceIsDual)]  
   [Guid("54596C7F-D343-4F20-BF7A-0722C5DA1F7D")]  
   [CoClass(typeof(BTSTicket))]  
   internal interface IBTSTicket  
   {  
      string[] ValidateAndRedeemTicket(  
         [In, MarshalAs(UnmanagedType.IUnknown)] object message,  
         string applicationName,  
         int flags,  
         out string externalUserName);  
   };  
}  
Imports System  
Imports System.Runtime.InteropServices  
  
Namespace Microsoft.BizTalk.PublicInterop  
  
   ' Only include flags that apply to these interfaces  
   ' See the ssoflags.idl file  
  
   Friend Enum BTSTicketFlags  
      SSO_FLAG_NONE       = 0  
      SSO_FLAG_REFRESH    = 1  
    End Enum  
  
   <ComImport(), TypeLibType(TypeLibTypeFlags.FCanCreate), ClassInterface(ClassInterfaceType.None), Guid("8DA848D0-E703-4043-9AF7-C569AC1F4507")> _  
    Friend Class BTSTicket  
    End Class  
  
   <ComImport(), InterfaceType(ComInterfaceType.InterfaceIsDual), Guid("54596C7F-D343-4F20-BF7A-0722C5DA1F7D"), CoClass(GetType(BTSTicket))> _  
   Friend Interface IBTSTicket  
      Function ValidateAndRedeemTicket( _  
         <InAttribute, MarshalAs(UnmanagedType.IUnknown)> message As Object, _  
         ByVal applicationName As String, _  
         ByVal flags As Integer, _  
         <OutAttribute> externalUserName As String) As String()  
   End Interface  
End Namespace  

規格需求

平臺: 窗戶

另請參閱

(COM) IBTSTicket 介面
(COM) IBTSTicket 成員