Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET:如何获取Windows系统的用户名_Asp.net_.net_Active Directory_Ldap_Windows Authentication - Fatal编程技术网

ASP.NET:如何获取Windows系统的用户名

ASP.NET:如何获取Windows系统的用户名,asp.net,.net,active-directory,ldap,windows-authentication,Asp.net,.net,Active Directory,Ldap,Windows Authentication,我想建立一个网站,其中的用户名和密码将由用户传递,这些凭据应检查的用户名和密码的windows帐户上的网站是托管使用LDAP身份验证。怎么可能呢?进行此检查是否需要域名? 谢谢。您可以通过ActiveDirectory身份验证进行验证 using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain, userName, password)) { userInfo.Is

我想建立一个网站,其中的用户名和密码将由用户传递,这些凭据应检查的用户名和密码的windows帐户上的网站是托管使用LDAP身份验证。怎么可能呢?进行此检查是否需要域名?
谢谢。

您可以通过ActiveDirectory身份验证进行验证

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain, userName, password))
        {
            userInfo.IsAuthenticated = pc.ValidateCredentials(userName, password);
            if (userInfo.IsAuthenticated)
            {
                string lastName = userPrincipal.Surname;                
                string givenName = userPrincipal.GivenName;                                 
            }
        }

如果要在asp.net中实现windows身份验证,请阅读下面链接的文章,以深入了解需要执行的配置


Environment.UserName属性
所以必须传递域名,这是这里的第二个参数,对吗?是,域名是必需的。