PassportIdentity.LoginUser 方法

定義

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

多載

LoginUser()

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

LoginUser(String)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

LoginUser(String, Int32, Boolean, String, Int32, String, Int32, Boolean, Object)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

LoginUser(String, Int32, Int32, String, Int32, String, Int32, Int32, Object)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

備註

此類別已被取代,不再支援。 Microsoft Passport 網路已由 Windows Live ID 取代。

LoginUser()

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

public:
 int LoginUser();
public int LoginUser ();
member this.LoginUser : unit -> int
Public Function LoginUser () As Integer

傳回

整數結果碼。

備註

此類別已被取代,不再支援。 Microsoft Passport 網路已由 Windows Live ID 取代。

適用於

LoginUser(String)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

public:
 int LoginUser(System::String ^ strReturnUrl);
public int LoginUser (string strReturnUrl);
member this.LoginUser : string -> int
Public Function LoginUser (strReturnUrl As String) As Integer

參數

strReturnUrl
String

登入完成之後,登入伺服器應該將使用者重新導向的目標 URL。 傳遞 null,表示 Passport 應該使用預設值。

傳回

整數結果碼。

備註

此類別已被取代,不再支援。 Microsoft Passport 網路已由 Windows Live ID 取代。

適用於

LoginUser(String, Int32, Boolean, String, Int32, String, Int32, Boolean, Object)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

public:
 int LoginUser(System::String ^ szRetURL, int iTimeWindow, bool fForceLogin, System::String ^ szCOBrandArgs, int iLangID, System::String ^ strNameSpace, int iKPP, bool fUseSecureAuth, System::Object ^ oExtraParams);
public int LoginUser (string szRetURL, int iTimeWindow, bool fForceLogin, string szCOBrandArgs, int iLangID, string strNameSpace, int iKPP, bool fUseSecureAuth, object oExtraParams);
member this.LoginUser : string * int * bool * string * int * string * int * bool * obj -> int
Public Function LoginUser (szRetURL As String, iTimeWindow As Integer, fForceLogin As Boolean, szCOBrandArgs As String, iLangID As Integer, strNameSpace As String, iKPP As Integer, fUseSecureAuth As Boolean, oExtraParams As Object) As Integer

參數

szRetURL
String

登入完成之後,登入伺服器應該將使用者重新導向的目標 URL。 傳遞 null,表示 Passport 應該使用預設值。

iTimeWindow
Int32

時間值,以秒為單位。 傳遞 –1,表示 Passport 應該使用預設值。

fForceLogin
Boolean

若要讓登入伺服器將 iTimeWindow 參數與自從使用者上次登入的時間作比較,則為 true;若要讓登入伺服器將 iTimeWindow 與上次票證更新的時間作比較,則為 false。 傳遞 –1,表示 Passport 應該使用預設值。

szCOBrandArgs
String

字串,指定將變數做為查詢字串變數,附加至參與者的 Cobranding Template 指令碼頁的 URL。 傳遞 null,表示 Passport 應該使用預設值。

iLangID
Int32

地區設定識別項 (LCID),指定應用來顯示登入頁面的語言。 傳遞 –1,表示 Passport 應該使用預設值。

strNameSpace
String

定義域命名空間,您要將使用者導向此而不使用 Passports 來登錄。 指定的命名空間必須在 Partner.xml 元件設定文件 (CCD) 中顯示為「定義域名稱」項目。 典型的預設命名空間是 "passport.com"。 傳遞 null,表示 Passport 應該使用預設值。

iKPP
Int32

傳遞 –1,表示 Passport 應該使用預設值。 只有在實作兒童 Passport 服務時這個參數才有關;然而,兒童 Passport 服務目前不支援使用這個方法。

fUseSecureAuth
Boolean

SSL 登入不是目前登入伺服器版本的可用選項。 Passport Manager 方法包含 SSL 登入參數,而且它們可能是語法的必要項,但是目前伺服器會忽略它們。 檢查 Passport 網站上 SSL 登入狀態是否有更新。 傳遞 –1,表示 Passport 應該使用預設值。

oExtraParams
Object

要直接插入挑戰驗證標頭中的名稱/值組,特別是 Passport 感知的驗證互動。 傳遞 null,表示 Passport 應該使用預設值。

傳回

整數結果碼。

範例

<!-- 
This example demonstrates implementing the soft sign-in authentication approach. 
In order for the example to work, the following requirements must be met. 
You can find details on these requirements in the Passport SDK documentation.

1. You must modify the Web.config file associated with this page so that 
authentication mode is set to "Passport".
2. You must have the Passport SDK installed.
3. You must have a Passport Site ID for the site where your page resides. 
If your Site ID is in the PREP environment, you will also need a PREP Passport.
4. You must have installed the encryption key you received after registering 
your site and receiving a site ID.
5. You must have the Passport Manager object settings correctly configured for 
your site.
-->

<!-- 
This example demonstrates implementing the soft sign-in authentication approach. 
In order for the example to work, the following requirements must be met. 
You can find details on these requirements in the Passport SDK documentation.

1. You must modify the Web.config file associated with this page so that 
authentication mode is set to "Passport".
2. You must have the Passport SDK installed.
3. You must have a Passport Site ID for the site where your page resides. 
If your Site ID is in the PREP environment, you will also need a PREP Passport.
4. You must have installed the encryption key you received after registering your 
site and receiving a site ID.
5. You must have the Passport Manager object settings correctly configured for your site.
-->

<%@ Page language="c#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
        try 
        {
            // Determine whether Passport is the type of authentication
            // this page is set to use. (Authentication information
            // is set in the Web.config file.)
            if (!(this.Context.User.Identity is PassportIdentity))
            {
                // If this page isn't set to use Passport authentication,
                // quit now.
                this.Response.Write("Error: Passport authentication failed. " + 
                    "Make sure that the Passport SDK is installed " +
                    "and your Web.config file is configured correctly.");
                return;
            }

            // Expire the page to avoid the browser's cache.
           Response.Cache.SetNoStore(); 


            // Get a version of the Identity value that is cast as type
            // PassportIdentity. 
//<Snippet4>
//<Snippet5>
//<Snippet6>
            PassportIdentity identity = (this.Context.User.Identity as PassportIdentity);    
            // Determine whether the user is already signed in with a valid
            // and current ticket. Passing -1 for the parameter values 
            // indicates the default values will be used.
            if (identity.GetIsAuthenticated(-1, -1, -1))
            {
                this.Response.Write("Welcome to the site.<br /><br />");
                // Print the Passport sign in button on the screen.
                this.Response.Write(identity.LogoTag2());
//</Snippet6>
                // Make sure the user has core profile information before
                // trying to access it.
                if (identity.HasProfile("core"))
                {
                    this.Response.Write("<b>You have been authenticated as " + 
                        "Passport identity:" + identity.Name + "</b></p>");
                }
            }
//</Snippet5>            
    
            // Determine whether the user has a ticket.
            else if (identity.HasTicket)
            {
                // If the user has a ticket but wasn't authenticated, that 
                // means the ticket is stale, so the login needs to be refreshed.
                // Passing true as the fForceLogin parameter value indicates that 
                // silent refresh will be accepted.
                identity.LoginUser(null, -1, true, null, -1, null, -1, true, null);
            }
//</Snippet4>

            // If the user does not already have a ticket, ask the user
            // to sign in.
            else
            {
                this.Response.Write("Please sign in using the link below.<br /><br />");
                // Print the Passport sign in button on the screen.
                this.Response.Write(identity.LogoTag2());
            }
        }
        catch (System.Runtime.InteropServices.COMException comError)
        {
            this.Response.Write("An error occurred while working with the " +
                "Passport SDK.");
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>
    <body>
        <form id="form1" runat="server">
        </form>
    </body>
</html>
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(sender As Object, e As System.EventArgs)
        Try 
            ' Determine whether Passport is the type of authentication
            ' this page is set to use. (Authentication information
            ' is set in the Web.config file.)
            If Not TypeOf(Me.Context.User.Identity) Is PassportIdentity Then
                ' If this page isn't set to use Passport authentication,
                ' quit now.
                 Me.Response.Write("Error: Passport authentication failed. " & _
                     "Make sure that the Passport SDK is installed and your " & _
                     "Web.config file is configured correctly.")
                Return
            End If

            ' Expire the page to avoid the browser's cache.
            Response.Cache.SetNoStore()
            
            ' Get a version of the Identity value that is cast as type
            ' PassportIdentity. 
'<Snippet4>
'<Snippet5>
'<Snippet6>
            Dim identity As PassportIdentity = Me.Context.User.Identity
            ' Determine whether the user is already signed in with a valid
            ' and current ticket. Passing -1 for the parameter values 
            ' indicates the default values will be used.
            If (identity.GetIsAuthenticated(-1, -1, -1)) Then
                Me.Response.Write("Welcome to the site.<br /><br />")
                ' Print the Passport sign in button on the screen.
                Me.Response.Write(identity.LogoTag2())
'</Snippet6>
                ' Make sure the user has core profile information before
                ' trying to access it.
                If (identity.HasProfile("core")) Then
                    Me.Response.Write("<b>You have been authenticated as " & _ 
                    "Passport identity:" & identity.Name & "</b></p>")
                End If
'</Snippet5>            
    
            ' Determine whether the user has a ticket.
            ElseIf identity.HasTicket Then
                ' If the user has a ticket but wasn't authenticated, that 
                ' means the ticket is stale, so the login needs to be refreshed.
                ' Passing true as the fForceLogin parameter value indicates that 
                ' silent refresh will be accepted.
                identity.LoginUser(Nothing, -1, True, Nothing, -1, Nothing, _
                    -1, True, Nothing)
'</Snippet4>

            ' If the user does not already have a ticket, ask the user
            ' to sign in.
            Else
                Me.Response.Write("Please sign in using the link below.<br /><br />")
                ' Print the Passport sign in button on the screen.
                Me.Response.Write(identity.LogoTag2())
            End If

        Catch comError As System.Runtime.InteropServices.COMException
            Me.Response.Write("An error occurred while working with the " & _
                "Passport SDK. The following result was returned: " & _
                comError.ErrorCode)
        End Try
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>

    <body>
        <form id="form1" runat="server">
        </form>
    </body>
</html>

備註

此類別已被取代,不再支援。 Microsoft Passport 網路已由 Windows Live ID 取代。

適用於

LoginUser(String, Int32, Int32, String, Int32, String, Int32, Int32, Object)

藉由產生 302 重新導向 URL 或啟始 Passport 感知用戶端驗證交換,來登入使用者。 這個類別已被取代。

public:
 int LoginUser(System::String ^ szRetURL, int iTimeWindow, int fForceLogin, System::String ^ szCOBrandArgs, int iLangID, System::String ^ strNameSpace, int iKPP, int iUseSecureAuth, System::Object ^ oExtraParams);
public int LoginUser (string szRetURL, int iTimeWindow, int fForceLogin, string szCOBrandArgs, int iLangID, string strNameSpace, int iKPP, int iUseSecureAuth, object oExtraParams);
member this.LoginUser : string * int * int * string * int * string * int * int * obj -> int
Public Function LoginUser (szRetURL As String, iTimeWindow As Integer, fForceLogin As Integer, szCOBrandArgs As String, iLangID As Integer, strNameSpace As String, iKPP As Integer, iUseSecureAuth As Integer, oExtraParams As Object) As Integer

參數

szRetURL
String

登入完成之後,登入伺服器應該將使用者重新導向的目標 URL。 傳遞 null,表示 Passport 應該使用預設值。

iTimeWindow
Int32

時間值,以秒為單位。 傳遞 –1,表示 Passport 應該使用預設值。

fForceLogin
Int32

表示登入伺服器是否應該將 iTimeWindow 參數與使用者自上次登入以來經過的時間,或與上次票證更新的時間作比較。 傳遞 –1,表示 Passport 應該使用預設值。

szCOBrandArgs
String

字串,指定將變數做為查詢字串變數,附加至參與者的 Cobranding Template 指令碼頁的 URL。 傳遞 null,表示 Passport 應該使用預設值。

iLangID
Int32

地區設定識別項 (LCID),指定應用來顯示登入頁面的語言。 傳遞 –1,表示 Passport 應該使用預設值。

strNameSpace
String

定義域命名空間,您要將使用者導向此而不使用 Passports 來登錄。 指定的命名空間必須在 Partner.xml 元件設定文件 (CCD) 中顯示為「定義域名稱」項目。 典型的預設命名空間是 "passport.com"。 傳遞 null,表示 Passport 應該使用預設值。

iKPP
Int32

傳遞 –1,表示 Passport 應該使用預設值。 只有在實作兒童 Passport 服務時這個參數才有關;然而,兒童 Passport 服務目前不支援使用這個方法。

iUseSecureAuth
Int32

SSL 登入不是目前登入伺服器版本的可用選項。 Passport Manager 方法包含 SSL 登入參數,而且它們可能是語法的必要項,但是目前伺服器會忽略它們。 檢查 Passport 網站上 SSL 登入狀態是否有更新。 傳遞 –1,表示 Passport 應該使用預設值。

oExtraParams
Object

要直接插入挑戰驗證標頭中的名稱/值組,特別是 Passport 感知的驗證互動。 傳遞 null,表示 Passport 應該使用預設值。

傳回

整數結果碼。

備註

此類別已被取代,不再支援。 Microsoft Passport 網路已由 Windows Live ID 取代。

適用於