tutorial tables net framework español asp c# asp.net visual-studio identity

tables - identity framework c#



HttpContext.Current.User.Identity.Name está vacío con IIS Express pero no con Visual Studio Development Server (2)

Esta pregunta ya tiene una respuesta aquí:

HttpContext.Current.User.Identity.Name está vacío / en blanco cuando Visual Studio está configurado en "Usar servidor web local de IIS" pero funciona correctamente cuando Visual Studio está configurado en "Usar Visual Studio Development Server".

Esperamos que pueda duplicar este problema en Visual Studio 2010 o 2012 (he intentado ambos) haciendo lo siguiente:

Cree una nueva "aplicación web vacía ASP.NET" con ".NET Framework 4" seleccionado y asígnele el nombre "WindowsAuthTest2". Reemplace los contenidos de Web.config con

<?xml version="1.0"?> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <authentication mode="Windows"> </authentication> </system.web> </configuration>

A continuación, agregue un nuevo "Formulario web" al proyecto llamado "Default.aspx". Reemplace el código en Default.aspx con

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WindowsAuthTest2.Default" %> <html> <head> <title></title> </head> <body> <asp:Label ID="Label1" runat="server"></asp:Label> </body> </html>

Y reemplaza el código en Default.aspx.cs con

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WindowsAuthTest2 { public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Label1.Text = "[" + HttpContext.Current.User.Identity.Name + "]"; } } }

No tengo ReSharper para decirme cuáles de las declaraciones de uso no son necesarias.

Luego, puede seleccionar qué servidor web utilizará Visual Studio haciendo clic con el botón derecho en el proyecto, seleccionando "Propiedades" (o haciendo doble clic en "Propiedades" debajo del proyecto), seleccionando "Web" y navegando a la sección "Servidores".

Pruébelo con "Use Visual Studio Development Server" y "Use Local IIS Web server".

Esperemos que pueda ayudarme a averiguar por qué HttpContext.Current.User.Identity.Name está vacío cuando se selecciona "Usar servidor web local de IIS".


¡Lo he resuelto! debe dar permiso a "RED", "SERVICIO DE RED" e IIUSRS en la carpeta. Y deshabilitar el acceso anónimo.


Resolví este problema cambiando el IIS en la autenticación

Windows Authenticaon = Enabled Anonymous Authenticaon = DISABLED <=== Important ASP.NET Impersonation Enabled

Mi IIS