我正在为我的公司组建另一个网站。
他们有活动目录登录私人Intranet,Windows和IE10上的工作站。 所以我需要的是c#中的一个简单页面(如果可能的话),在加载页面后返回客户端的Windows用户名。
AD和IIS7以及另一台IIS6位于不同的服务器上(在同一网络中)。 我可以在2003或2008服务器上托管页面。 有人告诉我,我需要使用WindowsAuthentication来执行此操作 - 但这样做有用吗?因为Web服务器不是活动目录域的一部分:我是否需要告诉IIS AD服务器在哪里? 我也没有AD的管理权。
同时我正在使用带有代码的HTML页面来获取客户端窗口用户名。
var wshshell = new ActiveXObject("WScript.shell");
var username = wshshell.ExpandEnvironmentalStrings("%username%");
它的工作正常,但它是临时的,直到我找到另一个解决方案(没有活动的x提示符)
我尝试的所有内容都返回了服务器名称而不是客户端用户名。
System.Security.Principal.WindowsIdentity.GetCurrent().Username()
HttpContext.Current.User.Identity.Name
System.Threading.Thread.CurrentPrincipal.Identity.Name
Environment.UserName
任何想法?