User.Identity.Name
пусто при размещении на IIS.Также IIS запрашивает учетные данные, когда IP-адрес указывается в URL, а не в localhost.Посоветуйте, пожалуйста, как это исправить.
В IIS включена Windows и анонимная аутентификация.
Я попытался включить и отключить анонимную аутентификацию в IIS
namespace System.Web.Mvc
{
public class AccessController : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if(!isAuthorized)
{
return false;
}
return base.AuthorizeCore(httpContext);
}
}
}
Мой контроллер
[System.Web.Http.HttpGet]
[AccessController]
[System.Web.Http.Route("api/GetUser")]
public string GetCurrenTUser()
{
if(User.Identity.IsAuthenticated)
{
return User.Identity.Name.Replace("EMEA\\", "");
}
return "false";
}
Web.Config
<system.web>
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
<authentication mode="Windows"/>
</system.web>