HttpRequest.LogonUserIdentity Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar typen WindowsIdentity för den aktuella användaren.
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
Egenskapsvärde
Ett WindowsIdentity-objekt för de aktuella autentiseringsinställningarna för Microsoft Internet Information Services (IIS).
Undantag
Webbprogrammet körs i IIS 7-integrerat läge och PostAuthenticateRequest händelsen har ännu inte skapats.
Exempel
Följande kodexempel visar hur du hämtar LogonUserIdentity egenskapen för den aktuella användaren och skriver ut värdena för varje objekt i en textfil. Placera den här koden på sidan ASP.NET som refereras till av formulärets attribut ACTION.
<%@ 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>
Kommentarer
Egenskapen LogonUserIdentity visar egenskaperna och metoderna för objektet WindowsIdentity för den för närvarande anslutna användaren till Microsoft Internet Information Services (IIS). Instansen av klassen WindowsIdentity som exponeras av LogonUserIdentity spårar IIS-begärandetoken och ger enkel åtkomst till denna token för den aktuella HTTP-begäran som bearbetas i ASP.NET. En instans av WindowsIdentity klassen skapas automatiskt så att den inte behöver konstrueras för att få åtkomst till dess metoder och egenskaper.