簡體   English   中英

源自客戶端“ onload”的LDAP查詢

[英]LDAP Query originating from client-side “onload”

我已經問過以前的問題,但是我認為我對排除其他選擇的先入為主的觀念太過分了。 我將重新開始:

我有使用HTML和JavaScript開發和維護的工具。 我想做的是自動收集用戶數據。 用戶當前正在填寫他們的信息,我們將它們存儲在Cookie中6個月。 但是,如果我可以讓他們跳過手動輸入此信息的步驟,將節省少量時間。

如果要在服務器端使用某些東西,則將使用帶有IIS 8.5的Microsoft Web Server 2012。

我想知道的是:在語言方面最好的方法是什么?

最好的方法是客戶端AJAX調用ASP.Net頁面,該頁面將用戶數據寫回JSON格式嗎? 我應該嘗試經過身份驗證的查詢還是未經身份驗證的查詢? 我迷路了。

我需要有關從何處開始以及如何開始/需要學習什么的建議和指導。

更新:明確地說,我正在尋找一種解決方案,該解決方案將在現有代碼的外部。 我可以從外部訪問的內容(例如想到的AJAX)並回吐(AD數據點指示符):givenName,sn,displayName,telephoneNumber,title。

這有多層。 為了安全地在客戶端和服務器之間傳遞數據,您需要使用HTTPS。 您可以從多個網站上購買證書,但是為了進行開發,請創建一個自簽名證書。 在IIS中,轉到服務器>服務器證書>創建自簽名證書...,輸入名稱,然后單擊確定。

現在我們需要使用該證書。 轉到“站點”>“添加網站...”,在“綁定”部分中為其指定站點名稱,物理路徑,將“類型”設置為https,然后選擇我們在“ SSL證書”中創建的證書。 單擊確定。

如果您沒有Visual Studio,請從https://www.visualstudio.com/vs/visual-studio-express/獲取快速版本。 安裝后,打開Visual Studio。 轉到“文件”>“新網站...”,選擇“ Visual C#”>“ ASP.NET網站”,然后單擊“確定”。

在解決方案資源管理器中,展開“帳戶”,然后雙擊Login.aspx。 在主面板中,單擊“拆分”以獲取HTML及其外觀的視圖。 單擊登錄按鈕。 在“屬性”面板中,單擊閃電以進行操作,然后雙擊“單擊”選項。

在這里,我們將使用DirectoryServices,您的項目中需要引用該目錄服務。 右鍵單擊解決方案資源管理器中的項目,選擇“添加引用...”。在.NET選項卡中,選擇“ System.DirectoryServices”和“ System.DirectoryServices.AccountManagement”,然后單擊“確定”。 現在,在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的網站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM