一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

asp.net 下利用DirectoryEntry驗證用戶及獲取域控制器下的用戶結(jié)構(gòu)信息

 行走在理想邊緣 2020-03-20

在企業(yè)的眾多應(yīng)用軟件中,每個用戶對每個軟件都需要記住登錄的賬號和密碼。時間久了,會忘記或搞混。管理人員在用戶管理時也需要挨個軟件去維護。確實很麻煩。解決的方法是要有統(tǒng)一的用戶管理,同一個賬號可以登錄多個軟件。創(chuàng)建域用戶是很好的解決方法。

一、用戶的域驗證,用戶登錄軟件時,系統(tǒng)先把賬號和密碼發(fā)送到域服務(wù)器進行驗證,通過后才能使用軟件。

創(chuàng)建 DirectoryEntry對象, 參數(shù):域名(domain) 形如 xxxxx.com,域用戶(domainAndUsername)形如 xxxxx.com\user ,域密碼(pwd),域用戶(user)= 用戶登錄賬號

C#代碼:

               
                DirectoryEntry entry = new DirectoryEntry(string.Format("LDAP://{0}",
                                domain), 
                                domainAndUsername,
                                pwd);
                string r = "ok";
                try
                 {
                  DirectorySearcher search = new DirectorySearcher(entry); //創(chuàng)建DirectoryEntry對象的搜索對象
                  search.Filter = "(SAMAccountName=" +user + ")";  //過濾條件為登錄賬號=user
                   SearchResult result = search.FindOne(); //查找第一個
                   if (null == result)   //沒找到
                     {
                      r = "cancel";
                     }
                 }
                catch (Exception ex)
                 {
                 r = ex.Message;
                 }
                return r;

                   

二、列舉域控制器下的所有用戶及組織

本例列舉某公司下的組織及用戶(組織結(jié)構(gòu):公司->部門->用戶),運行軟件的電腦須加入域才能讀取域用戶信息,如果是web,則發(fā)布的服務(wù)器也須加入域中。

               
//domain 域名稱 user 域上的用戶, pwd 域上的用戶密碼,root 公司名稱 ou=root 表示該公司下的組織及用戶


  StringBuilder sb = new StringBuilder();
  try
  {	
       DirectoryEntry entry = new DirectoryEntry(string.Format("LDAP://{0}/OU={1},DC={2},DC={3}",
                    domain, root, 
                   domain.Split('.')[0], domain.Split('.')[1]), 
                   domain + @"\" + user, pwd);               
       DirectorySearcher mySearcher = new DirectorySearcher(entry);              
       mySearcher.Filter = ("(objectClass=organizationalUnit)");  // 查找條件是entry 下的部門               
       sb.Append("[{id:'0',pid:null,text:'" + root + "',expand:true}");                
       int i = 1;               
      foreach (SearchResult resEnt in mySearcher.FindAll()) //遍歷所有部門                
       {                    
         string _a = resEnt.GetDirectoryEntry().Name.Split('=')[1];                    
         if (_a != root)                   
         {                       
              sb.Append(",{id:'" + i.ToString() + "',pid:'0',text:'" + _a + "'}");                        
              DirectorySearcher m1 = new DirectorySearcher(resEnt.GetDirectoryEntry());  //查找用戶對象     
              m1.Filter = ("(objectClass=user)");  //查找條件是所有用戶                        
              foreach (SearchResult r1 in m1.FindAll())  //遍歷該部門下的所有用戶                        
              {                            
               sb.Append(",{
                        id:'" 
                        + r1.GetDirectoryEntry().Properties["sAMAccountName"][0].ToString()
                        + "',pid:'" 
                        + i.ToString() 
                        + "',text:'" 
                        + r1.GetDirectoryEntry().Properties["Name"][0].ToString() 
                        + "'}");
              }
            i++;                  
          }             
     }               
 sb.Append("]");


              

三、把返回的用戶信息以樹形方式顯示在html 上

     
<div id="user" class="gtreeselect"  data-options="{poupuWidth:240,leafNode:true,width:210,onChange:set}" ></div>

              
     
    $(function () {
         jgui.post("/Data/getaduser", { domain: "gxdonta.com", 
            user: "admin", 
            pwd: "123456", 
            root: encodeURIComponent("XXXXXX有限公司") },
          function (text) {
            jgui.get('user').setData(jgui.parseJSON(text));
         });
     }); 

         

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲欧洲在线一区二区三区| 99久久国产精品成人观看| 一区二区三区在线不卡免费| 成人亚洲国产精品一区不卡| 午夜亚洲少妇福利诱惑| 亚洲国产欧美久久精品| 国产午夜福利片在线观看| 厕所偷拍一区二区三区视频| 亚洲成人精品免费在线观看| 中文字幕亚洲精品乱码加勒比 | 国产精品不卡一区二区三区四区 | 成年男女午夜久久久精品| 亚洲少妇一区二区三区懂色| 91爽人人爽人人插人人爽| 成人午夜视频精品一区| 国产高清一区二区白浆| 国产日韩欧美专区一区| 日韩一级一片内射视频4k| 欧美午夜性刺激在线观看| 亚洲欧美精品伊人久久| 狠狠干狠狠操在线播放| 日韩特级黄片免费观看| 日本人妻精品中文字幕不卡乱码 | 91亚洲国产—区=区a| 很黄很污在线免费观看| 极品少妇嫩草视频在线观看| 日本一区不卡在线观看| 免费在线播放不卡视频| 99亚洲综合精品成人网色播| 色一欲一性一乱—区二区三区| 儿媳妇的诱惑中文字幕| 欧美人禽色视频免费看 | 日本精品啪啪一区二区三区| 国产av一区二区三区麻豆| 国产一区欧美一区日韩一区 | 免费观看日韩一级黄色大片| 麻豆剧果冻传媒一二三区| 中文字幕乱码一区二区三区四区| 日本午夜福利视频免费观看| 久久精品a毛片看国产成人| 亚洲国产av国产av|