如何让公司的Active Directory数据显示在剃刀视图(webgrid)上?

时间:2013-12-05 02:01:24

标签: asp.net-mvc razor active-directory

我需要构建一个简单的asp.net mvc web应用程序来显示Active Directory中的详细数据并将其显示在webgrid功能中,这可能吗?我很感激,如果有人能提供任何好的例子,请提前感谢。

我找到了这个例子:http://www.dotnetcodesg.com/Article/UploadFile/2/223/Get%20List%20of%20Active%20Directory%20Users%20in%20ASP.NET%20Csharp.aspx

但是当我执行代码时,程序停在这行代码上:

MembershipUser myUser = Membership.GetAllUsers()[searchResult...

我收到错误:“无法连接到SQL Server数据库。”

代码停在:

MembershipUser myUser = Membership.GetAllUsers()[searchResult.Properties["sAMAccountName"][0].ToString()];

似乎我需要连接会员数据库,我是否必须连接会员数据库以获取所有员工数据?

我只想获取所有员工信息,例如:姓名,身份证,电子邮件,电话,并在视图中显示它们(更好的是webgrid或其他易于阅读的格式)。

I tried these codes :
DirectoryEntry myLdapConnection = new DirectoryEntry(LDAP://company.domin);           

// DirectorySearcher search = new DirectorySearcher(myLdapConnection){Filter =(“(objectClass = user)”)};

 DirectorySearcher search = new DirectorySearcher();            

// search.CacheResults = true;             

search.SearchRoot = myLdapConnection;             

search.SearchScope = SearchScope.Subtree;            

SearchResultCollection allResults = search.FindAll();

        DataTable resultsTable = new DataTable();

        resultsTable.Columns.Add("sAMAccountName");           

.....

基本上,我将数据添加到数据表并在剃刀视图中显示它,我获取数据并在剃刀视图上显示它们,但数据不完整数据,某些员工信息丢失,任何人都可以告诉我我的代码丢失数据有什么问题?获取部分数据的代码一定有问题。我想得到的是我公司的Active Directory中的完整数据,其中包括所有员工的姓名和组名等。

1 个答案:

答案 0 :(得分:0)

数据库错误消息表明您的站点已配置为表单身份验证。您需要在web.config文件中将身份验证模式设置为Windows以使用Active Directory。

<system.web>
    <authentication mode="Windows" />
</system.web>