我们需要帮助才能在他们登录网站后检索当前用户的名字或自动获得访问权限,因为他们使用asp.net 4.0登录到域中的计算机(最好是vb) )
我已尝试过以下来电
HttpContext.Current.Profile.UserName
HttpContext.Current.User.Identity.Name
但他们只是空白。
我没有使用活动目录的经验,而且我发现的大部分内容都假定程序想要读取,编写和更新目录服务。
我现在尝试更新
Dim id As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim User As WindowsPrincipal = New WindowsPrincipal(id)
Return User.Identity.Name
它将我的名称返回为IIS APPPOOL \ ASP.NET V4.0
更新2
Environment.UserName.ToString()
返回ASP.NETv4.0
我也改变了
在web.config中为true,它返回NT AUTHORITY \ USR作为当前用户,它与我根据我的搜索预期的内联。我仍然不确定为什么当impersonate = false时系统会返回asp.net apppool而不是用户的名字。
答案 0 :(得分:1)
首先确保您的web.config配置如下:
<authentication mode="Windows">
</authentication>
其次,请确保IIS中的Web应用程序配置为使用集成Windows(NTLM)身份验证。