HttpRequest.LogonUserIdentity Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il tipo WindowsIdentity per l'utente corrente.
public:
property System::Security::Principal::WindowsIdentity ^ LogonUserIdentity { System::Security::Principal::WindowsIdentity ^ get(); };
public System.Security.Principal.WindowsIdentity LogonUserIdentity { get; }
member this.LogonUserIdentity : System.Security.Principal.WindowsIdentity
Public ReadOnly Property LogonUserIdentity As WindowsIdentity
Valore della proprietà
Oggetto WindowsIdentity per le impostazioni di autenticazione di Microsoft Internet Information Services (IIS).
Eccezioni
L'applicazione Web viene eseguita in modalità integrata IIS 7 e l'evento PostAuthenticateRequest non è stato ancora generato.
Esempio
Nell'esempio di codice seguente viene illustrato come recuperare la LogonUserIdentity proprietà per l'utente corrente e scrivere i valori di ogni elemento in un file di testo. Inserire questo codice nella pagina ASP.NET a cui fa riferimento l'attributo del ACTION
modulo.
<%@ Page Language="C#" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
/* NOTE: To use this sample, create a c:\temp folder,
* add the ASP.NET account (in IIS 5.x <machinename>\ASPNET,
* in IIS 6.x NETWORK SERVICE), and give it write permissions
* to the folder.*/
private const string INFO_DIR = @"c:\temp\";
private void Page_Load(object sender, System.EventArgs e)
{
// Validate that user is authenticated
if (!Request.LogonUserIdentity.IsAuthenticated)
Response.Redirect("LoginPage.aspx");
// Create a string that contains the file path
string strFilePath = INFO_DIR + "CS_Log.txt";
Response.Write("Writing log file to " + strFilePath + "...");
// Create stream writer object and pass it the file path
StreamWriter sw = File.CreateText(strFilePath);
// Write user info to log
sw.WriteLine("Access log from " + DateTime.Now.ToString());
sw.WriteLine("User: " + Request.LogonUserIdentity.User);
sw.WriteLine("Name: " + Request.LogonUserIdentity.Name);
sw.WriteLine("AuthenticationType: " + Request.LogonUserIdentity.AuthenticationType);
sw.WriteLine("ImpersonationLevel: " + Request.LogonUserIdentity.ImpersonationLevel);
sw.WriteLine("IsAnonymous: " + Request.LogonUserIdentity.IsAnonymous);
sw.WriteLine("IsGuest: " + Request.LogonUserIdentity.IsGuest);
sw.WriteLine("IsSystem: " + Request.LogonUserIdentity.IsSystem);
sw.WriteLine("Owner: " + Request.LogonUserIdentity.Owner);
sw.WriteLine("Token: " + Request.LogonUserIdentity.Token);
// Close the stream to the file.
sw.Close();
}
</script>
<%@ Page Language="VB" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
' * NOTE: To use this sample, create a c:\temp folder,
' * add the ASP.NET account (in IIS 5.x <machinename>\ASPNET,
' * in IIS 6.x NETWORK SERVICE), and give it write permissions
' * to the folder.
Private Const INFO_DIR As String = "c:\temp\"
Private Sub Page_Load(sender As Object, e As System.EventArgs)
' Validate that user is authenticated
If Not (Request.LogonUserIdentity.IsAuthenticated) Then
Response.Redirect("LoginPage.aspx")
End If
' Create a string that contains the file path
Dim strFilePath As String = INFO_DIR & "VB_Log.txt"
Response.Write("Writing log file to " & strFilePath & "...")
' Create stream writer object and pass it the file path
Dim sw As StreamWriter = File.CreateText(strFilePath)
' Write user info to log
sw.WriteLine("Access log from " & DateTime.Now.ToString())
sw.WriteLine("User: " & Request.LogonUserIdentity.User.ToString())
sw.WriteLine("Name: " & Request.LogonUserIdentity.Name)
sw.WriteLine("AuthenticationType: " & Request.LogonUserIdentity.AuthenticationType)
sw.WriteLine("ImpersonationLevel: " & Request.LogonUserIdentity.ImpersonationLevel)
sw.WriteLine("IsAnonymous: " & Request.LogonUserIdentity.IsAnonymous)
sw.WriteLine("IsGuest: " & Request.LogonUserIdentity.IsGuest)
sw.WriteLine("IsSystem: " & Request.LogonUserIdentity.IsSystem)
sw.WriteLine("Owner: " & Request.LogonUserIdentity.Owner.ToString())
sw.WriteLine("Token: " & Request.LogonUserIdentity.Token.ToString())
' Close the stream to the file.
sw.Close()
End Sub
</script>
Commenti
La LogonUserIdentity proprietà espone le proprietà e i metodi dell'oggetto WindowsIdentity per l'utente attualmente connesso a Microsoft Internet Information Services (IIS). L'istanza della WindowsIdentity classe esposta da LogonUserIdentity tiene traccia del token di richiesta IIS e consente di accedere facilmente a questo token per la richiesta HTTP corrente elaborata all'interno di ASP.NET. Un'istanza della WindowsIdentity classe viene creata automaticamente in modo da non dover essere costruita per ottenere l'accesso ai relativi metodi e proprietà.