在ASP .net CORE mvc中构建一个Intranet,我需要获取当前用户的Windows用户名进行登录,我不需要使用Windows身份验证自动登录用户,我已经有一个自定义登录控制器来做到这一点,我只需要他的用户名 .
它在本地工作正常,但我无法在IIS服务器上获取用户名:
Local :
Environment.UserName => VeronY
System.Security.Principal.WindowsIdentity.GetCurrent().Name => Domain\VeronY
IIS server :
Environment.UserName => Intranet
System.Security.Principal.WindowsIdentity.GetCurrent().Name => APPPOOL\Intranet
使用Windows Auhtentication,它会自动登录我,这不是我需要的 . 必须有两种类型的身份验证:通过Identity Framework自动使用AD和手动进行表单管理 .
1 回答
ASP .net似乎没有授权2种不同类型的连接,所以我让主站点进行了表单身份验证,我创建了一个小API:
配置Windows身份验证 .
这是主网站中的LoginController: