繁体   English   中英

在 IIS 上托管后,Environment.UserName 无法正常工作。 带有 ASP.net 内核 2.0 的代码

[英]Environment.UserName not working after hosting on IIS. Code with ASP.net core 2.0

使用(System.DirectoryServices.AccountManagement)库验证对 Active Directory 的使用。 如何识别用户以使他自动登录。 我在本地运行时使用环境变量(Environment.UserName)获取用户名。 但是,在 IIS 环境上托管后无法获取用户名。用户名在 IIS 上不起作用。

在此处输入图像描述

Environment.Username返回 asp.net 应用程序当前线程上的用户。 这就是为什么在将其部署到 IIS 时获得应用程序池标识而不是登录用户的原因。

如果您希望 IIS 返回类似的结果,您可以在 asp.net 核心应用程序的应用程序池标识中指定用户。 然后Environment.Username将返回类似的结果。

https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities

如果用户名不是您想要的,您只希望应用程序处理客户端的用户身份。 您应该启用 IIS windows 身份验证。 然后您将收到来自 Httpcontext 的身份。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM