HttpRequest.LogonUserIdentity Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o tipo WindowsIdentity para o usuário atual.
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
Valor da propriedade
Um objeto WindowsIdentity para as configurações de autenticação atuais dos Serviços de Informações da Internet da Microsoft (IIS).
Exceções
O aplicativo Web está sendo executado no modo integrado do IIS 7 e o evento PostAuthenticateRequest ainda não foi acionado.
Exemplos
O exemplo de código a seguir mostra como recuperar a LogonUserIdentity propriedade do usuário atual e gravar os valores de cada item em um arquivo de texto. Coloque esse código na página ASP.NET referenciada pelo atributo do ACTION
formulário.
<%@ 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>
Comentários
A LogonUserIdentity propriedade expõe as propriedades e os WindowsIdentity métodos do objeto para o usuário conectado atualmente ao IIS ( Serviços de Informações da Internet da Microsoft). A instância da WindowsIdentity classe exposta por LogonUserIdentity rastreia o token de solicitação do IIS e fornece acesso fácil a esse token para a solicitação HTTP atual que está sendo processada dentro de ASP.NET. Uma instância da WindowsIdentity classe é criada automaticamente para que ela não precise ser construída para obter acesso a seus métodos e propriedades.