首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp.net中获取客户端Windows用户ID,用于LDAP单点登录

在asp.net中获取客户端Windows用户ID,用于LDAP单点登录
EN

Stack Overflow用户
提问于 2018-06-20 14:06:26
回答 1查看 698关注 0票数 0

我们有一个现有的webform,允许使用表单身份验证,要求用户键入id和pw来登录到系统。客户端请求程序只从windows登录用户名中获取用户名,这里我指的是用于登录计算机的用户名,而不是网页。

我用来尝试获取用户名的方法:

代码语言:javascript
复制
    System.Environment.UserName;
    HttpContext.Current.User.Identity.Name;
    Context.User.Identity.Name;
    System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    Page.User.Identity.Name;

已在多个不同的对中启用ASP.NET身份验证(WA)、窗体身份验证(FA)、基本身份验证(BA)、匿名身份验证(AA)和Windows模拟(AI)。我发现最多的建议是启用(WA)、禁用(AA)、启用(AI),但都无济于事。在我的测试中,唯一影响上面代码的似乎是AI。

启用(AI)会给我: NT权限\IUSR

禁用(AI)给我:集成的IIS APPPOOL\ASP.NET V4.0

而我尝试获取的是MyDomain\MyUserName

我尝试从另一台没有托管该页面的计算机访问该页面,但仍然在相同的域中,它给出了相同的输出。这使我怀疑代码只给了我在服务器中运行进程的用户,而不是客户端的Windows用户。

我的问题是,有谁知道如何获得登录到域的人的用户名?

*其他信息:我在域中使用超级用户帐户,并提供管理员帐户和密码以管理员身份运行visual studio,如果这会有任何影响的话。

EN

回答 1

Stack Overflow用户

发布于 2018-06-20 14:20:57

您必须在IIS中启用Windows身份验证,并禁用其他身份验证方法。

并确保在web.config中将身份验证模式设置为"Windows“。

代码语言:javascript
复制
<authentication mode="Windows"/>

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50941310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档