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

如果为 true,则使登录服务器比较 iTimeWindow 参数与自从用户最后一次登录以来所经过的时间;如果为 false,则使登录服务器比较 iTimeWindow 与最后一次刷新票的时间。 传递 -1 以指示 Passport 应使用默认值。

szCOBrandArgs
String

字符串,指定要作为查询字符串变量追加到参与者的联合品牌模板脚本页的 URL 的变量。 传递 null 以指示 Passport 应使用默认值。

iLangID
Int32

区域设置标识符(LCID),指定显示登录页时应使用的语言。 传递 -1 以指示 Passport 应使用默认值。

strNameSpace
String

希望引导没有 Passport 的用户注册到的域命名空间。 指定的命名空间必须显示为 Partner.xml 组件配置文档(CCD)中的“域名”项。 典型的默认命名空间为 "passport.com"。 传递 null 以指示 Passport 应使用默认值。

iKPP
Int32

传递 -1 以指示 Passport 应使用默认值。 仅当实现 Kids Passport 服务时,此参数才相关;但是,Kids Passport 服务当前无法支持使用此方法。

fUseSecureAuth
Boolean

SSL 登录不是当前版本登录服务器中的可用选项。 Passport 管理器方法包括 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

字符串,指定要作为查询字符串变量追加到参与者的联合品牌模板脚本页的 URL 的变量。 传递 null 以指示 Passport 应使用默认值。

iLangID
Int32

区域设置标识符(LCID),指定显示登录页时应使用的语言。 传递 -1 以指示 Passport 应使用默认值。

strNameSpace
String

希望引导没有 Passport 的用户注册到的域命名空间。 指定的命名空间必须显示为 Partner.xml 组件配置文档(CCD)中的“域名”项。 典型的默认命名空间为 "passport.com"。 传递 null 以指示 Passport 应使用默认值。

iKPP
Int32

传递 -1 以指示 Passport 应使用默认值。 仅当实现 Kids Passport 服务时,此参数才相关;但是,Kids Passport 服务当前无法支持使用此方法。

iUseSecureAuth
Int32

SSL 登录不是当前版本登录服务器中的可用选项。 Passport 管理器方法包括 SSL 登录参数,这些参数对于语法可能是必需的,但它们当前在服务器上被忽略。 检查 Passport 网站是否有 SSL 登录状态方面的更新。 传递 -1 以指示 Passport 应使用默认值。

oExtraParams
Object

要直接插入质询身份验证标头中的名称/值对,专门用于识别 Passport 的身份验证交互。 传递 null 以指示 Passport 应使用默认值。

返回

整数结果代码。

注解

此类已弃用,不再受支持。 Microsoft Passport 网络已替换为 Windows Live ID。

适用于