添加ASP.. NET模拟用户对特定域进行windows身份验证

本文关键字:windows 身份验证 NET ASP 模拟 用户 添加 | 更新日期: 2023-09-27 18:11:09

我在公司的windows server 2008 (IIS 7.5)中安装了MVC4应用程序。为了远程访问windows服务器,我们使用(xxxxDMZ'用户名,密码),这与访问网站特定页面所需的windows身份验证相同。我的问题是不是每个人都有这个"xxxxDMZ"帐户,所以他们无法访问该页面,我要做的是添加他们的windows登录凭据来访问该页面(仅添加用户名),这将是'xxxx'用户名'。

我读到,为了做到这一点,我必须使用模拟,但我找不到明确的方法来实现它。

感谢您的帮助。

提前非常感谢!

添加ASP.. NET模拟用户对特定域进行windows身份验证

这里有一个可以使用的函数。但是Domain需要可以从DMZ访问……这意味着打开DMZ和域控制器之间的端口。

public bool ValidateUser(string userName, string password)
        {
            bool validation;
            try
            {
                LdapConnection ldc = new LdapConnection(new LdapDirectoryIdentifier((string)null, false, false));
                NetworkCredential nc = new NetworkCredential(userName, password, "DOMAIN NAME HERE");
                ldc.Credential = nc;
                ldc.AuthType = AuthType.Negotiate;
                ldc.Bind(nc); // user has authenticated at this point, as the credentials were used to login to the dc.
                validation = true;
            }
            catch (LdapException)
            {
                validation = false;
            }
            return validation;
        }

ref: LDAP Authentication in ASP。净MVC