繁体   English   中英

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

[英]Getting Client side Windows User ID in asp.net, for LDAP single sign on

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

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

    System.Environment.UserName;
    HttpContext.Current.User.Identity.Name;
    Context.User.Identity.Name;
    System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    Page.User.Identity.Name;

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

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

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

而我想要得到的是MyDomain \\ MyUserName

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

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

*其他信息:我正在域中使用超级用户帐户,并提供了管理员帐户和密码,以某种方式以管理员身份运行Visual Studio,如果这会影响到任何事情的话。

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

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

<authentication mode="Windows"/>

希望能帮助到你!

暂无
暂无

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

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