asp.net core web api authentication
¿Cómo saber en qué cuenta se está ejecutando mi código ASP.NET? (4)
Para averiguar en qué cuenta NT se ejecuta su aplicación en un momento dado, haga algo como (en VB.NET):
Dim User = System.Security.Principal.WindowsIdentity.GetCurrent.User
Dim UserName = User.Translate(GetType(System.Security.Principal.NTAccount)).Value
Al usar ASP.NET, esta cuenta coincidirá con la identidad del grupo de aplicaciones, que usted configura usando el Administrador de IIS. Tenga en cuenta que el usuario anónimo de IIS no está muy involucrado con las solicitudes de ASP.NET.
Recibo un mensaje de error "Acceso a la ruta denegada" cuando se ejecuta en modo de depuración. He intentado otorgar permisos a {MACHINENAME} / ASPNET y al SERVICIO DE RED, pero esto no ha hecho ninguna diferencia. También he intentado <suplantar = verdadero /> usando una cuenta de administrador, esto tampoco hizo diferencia. Entonces, ¿cómo puedo establecer exactamente qué cuenta se está utilizando?
C # Code para la respuesta de vb.net
var user = System.Security.Principal.WindowsIdentity.GetCurrent().User;
var userName = user.Translate(typeof (System.Security.Principal.NTAccount));
strint t=System.Web.Security.Membership.GetUser().UserName.ToString();
Puedes usar este código:
DO#
Response.Write("Windows Account which runs ASP.NET is: "
+ Environment.Username);
VB.NET
Response.Write("Windows Account which runs ASP.NET is: " _
& Environment.Username)
Si ejecuta su aplicación en Visual Studio en su PC (localhost), obtendrá su nombre de usuario. Si implementa una aplicación web ASP.NET en IIS, probablemente obtendrá la cuenta SERVICIO DE RED, porque ese es el usuario predeterminado que ejecuta IIS 6.0 (ASPNET en IIS 5.0 de Windows Server 2000).
Environment.UserName
devuelve el usuario actualmente conectado al thread. Page.User
devuelve el nombre que ASP.NET verifica a través de Autenticación y este usuario en la mayoría de los casos es independiente del inicio de sesión de Windows que ejecuta el hilo actual. Para solicitudes anónimas, la página. El usuario está en blanco, mientras que Environment. User será NETWORK SERVICE.
Como mdb señala correctamente en un comentario a esta respuesta, Environment.Username simplemente devolverá la variable de entorno USERNAME, que está configurada en la creación del proceso y no se actualiza en caso de suplantación y tal.