У меня проблема с поиском пользователя в объявлении. Когда я запускаю свой API на локальном хосте, я могу получить данные о том, кто вошел в систему на компьютере, однако, когда я загружаю API на сервер IIS, он возвращает "" IIS APPPOOL \ Name api "" Как я могу поймать этого пользователя с помощью API работает на IIS
Мой контроллер:
[Route("autorizar")]
[HttpGet]
public IActionResult IISAuthorize()
{
var name = HttpContext.User.Claims.FirstOrDefault(p => p.Type == ClaimTypes.Name)?.Value;
return new ContentResult() { Content = $@"{ name }" };
}
// GET api/values/
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
//UserName = _httpContext.HttpContext.User.Identity.Name;
//return Ok(UserName);
//string UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
string User4 = System.Environment.UserDomainName;
string User5 = System.Environment.UserName;
string User6 = User.Identity.AuthenticationType;
string User7 = User.Identity.Name;
string User8 = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
// string User4 = User.Identity.Name;
return new string[] { User4, User5, User6, User7, User8 };
}
Мой запуск
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("MyCustomCorsPolicyName",
builder => builder.WithOrigins("http://localhost:3000")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
});
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors("MyCustomCorsPolicyName");
app.UseAuthentication();
app.UseHttpsRedirection();
app.UseMvc();
}
Помогите мне!