PassportIdentity.HasTicket 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
쿼리 문자열에 쿠키로 Passport 티켓이 포함되는지 여부를 나타내는 값을 가져옵니다. 이 클래스는 사용되지 않습니다.
public:
property bool HasTicket { bool get(); };
public bool HasTicket { get; }
member this.HasTicket : bool
Public ReadOnly Property HasTicket As Boolean
속성 값
쿼리 문자열에 쿠키로 Passport 티켓이 포함되면 true
이고, 그렇지 않으면 false
입니다.
예제
<!--
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 Network가 Windows Live ID로 대체되었습니다.