0

我是 stachoverflow 的新用户,我正在为 Intranet 开发一个 Web 应用程序,它在其中对来自活动目录的用户进行身份验证,这在 IIS 上运行良好,但我在从活动目录组中检索数据(所有用户名)时遇到问题,这工作正常本地服务器。在 IIS 上,它给出了异常错误- System.DirectoryServices.DirectoryServicesCOMException: Logon failure: unknown user name or bad password。在 IIS windows 身份验证启用和其他被禁用

My code is:
Web.config file:
<authentication mode="Windows">
            <forms loginUrl="~/TTracker/Login.aspx" timeout="600"></forms>
        </authentication>

<authorization>
            <deny users="?"/>
            <allow users="*" />


        </authorization>
    <identity impersonate="true" />


Code for retrieving data:

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
using (HostingEnvironment.Impersonate())
            {
                DropDownList1.Items.Add(new ListItem("-Select-", ""));
                string grpname = "Group1";                
                PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain");
                GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, grpname);
                if (grp != null)
                {
                    foreach (Principal p in grp.GetMembers(false))
                    {
                        DropDownList1.Items.Add(p.SamAccountName + "-" + p.DisplayName);

                    }
                    grp.Dispose();
                    ctx.Dispose();
                    Console.ReadLine();
                }
                else
                {
                    Console.WriteLine("We did not find that group.");
                    Console.ReadLine();
                }
            }


this is my code for retrieving data from active directory which works fine locally but not works on IIS.

It will be great help if any one solve this issue.

Thanks in advance.
4

1 回答 1

0

这与模仿有关。

请检查以下内容,

我们可以模拟一个帐户来处理 AD。

ASP.NET Impersonation http://msdn.microsoft.com/en-us/library/aa292118(VS.71).aspx 并阅读此文档。

Howto:(几乎)通过 C# 在 Active Directory 中的所有内容 http://www.codeproject.com/KB/system/everythingInAD.aspx

于 2013-04-30T11:46:27.903 回答