LDAP查询源自客户端" onload"

时间:2017-03-28 14:35:17

标签: javascript php html .net active-directory

我已经问过以前的问题,但我认为我已经过了一些预先设想的概念,我已经排除了其他选择。我将重新开始:

我有用HTML和JavaScript开发和维护的工具。我想做的是自动收集用户数据。用户目前正在填写他们的信息,我们将他们存储在cookie中6个月。但是,如果我可以让他们跳过手动输入此信息的步骤,那么节省的时间很短。

如果我要使用服务器端的东西,我将使用带有IIS 8.5的Microsoft Web Server 2012。

我想知道的是:语言方面的最佳方法是什么?

客户端AJAX调用ASP.Net页面的最佳方法是将用户数据写回JSON格式吗?我应该尝试经过身份验证的查询还是未经身份验证的查询?我输了。

我需要建议和一些指导,包括在哪里以及如何开始/我需要学习什么。

更新:要明确,我正在寻找一种解决方案,该解决方案将在我现有代码的外部。我可以从外部访问的东西(例如AJAX)并让它吐回(AD数据点指示符):givenName,sn,displayName,telephoneNumber,title。

1 个答案:

答案 0 :(得分:0)

这有多个层次。我命令在客户端和服务器之间安全地传递数据,您需要使用HTTPS。您可以从多个网站购买证书,但是对于开发,我们可以创建自签名证书。在IIS中,转到服务器>服务器证书>创建自签名证书...,输入名称并单击确定。

现在我们需要使用该证书。转到“站点”>“添加网站...”,在“绑定”部分中为其指定站点名称,物理路径,将“类型”设置为“https”,然后选择我们在SSL证书中创建的证书。单击“确定”。

如果您没有视觉工作室,请从https://www.visualstudio.com/vs/visual-studio-express/获取快速版本。安装后,打开Visual Studio。转到文件>新网站...,选择Visual C#> ASP.NET网站,然后单击确定。

在Solution Explorer中,展开Account并双击Login.aspx。在主面板中,单击“拆分”以获取HTML的视图以及它将呈现的内容。单击“登录”按钮。在“属性”面板中,单击闪电以进入操作,然后双击“单击”选项。

在这里,我们将使用DirectoryServices,需要在项目中引用它。在Solution Explorer中右键单击该项目,选择Add Reference ....在.NET选项卡中,选择System.DirectoryServices和System.DirectoryServices.AccountManagement,然后单击OK。现在在LoginButton_Click的Account / Login.aspx.cs中输入:

bool validUser;
    PrincipalContext ctx  = new PrincipalContext(ContextType.Domain);
    validUser = ctx.ValidateCredentials(this.LoginUser.UserName, this.LoginUser.Password);
    if (validUser) {
        // Do you stuff here.
    }

您现在拥有了基本的LDAP网站。