ฉันจะหาสตริงการเชื่อมต่อ LDAP ของฉันได้อย่างไร


108

เราอยู่ในเครือข่ายขององค์กรที่ใช้งานไดเรกทอรีที่ใช้งานอยู่และเราต้องการที่จะทดสอบสิ่งที่ LDAP (ผู้ให้บริการสมาชิกไดเรกทอรีที่ใช้งานจริง) และจนถึงขณะนี้เราไม่มีใครสามารถคิดออกว่าสตริงการเชื่อมต่อ LDAP ของเราคืออะไร ไม่มีใครรู้ว่าเราสามารถค้นหามันได้อย่างไร สิ่งเดียวที่เรารู้คือโดเมนที่เราอยู่

คำตอบ:


101

ผู้ให้บริการสมาชิกของ Active Directory ASP.NET ทำการผูกข้อมูลกับ Active Directory โดยใช้ชื่อผู้ใช้รหัสผ่านและ "สตริงการเชื่อมต่อ" ที่ระบุ สตริงการเชื่อมต่อประกอบด้วยชื่อของเซิร์ฟเวอร์ LDAP และเส้นทางแบบเต็มของวัตถุคอนเทนเนอร์ที่ผู้ใช้ที่ระบุอยู่

สตริงการเชื่อมต่อเริ่มต้นด้วย LDAP://URI

สำหรับชื่อเซิร์ฟเวอร์คุณสามารถใช้ชื่อของตัวควบคุมโดเมนในโดเมนนั้น - สมมติว่า "dc1.corp.domain.com" นั่นทำให้เราLDAP://dc1.corp.domain.com/ห่างไกล

บิตถัดไปคือพา ธ แบบเต็มของวัตถุคอนเทนเนอร์ซึ่งเป็นที่ตั้งของผู้ใช้การผูก สมมติว่าคุณกำลังใช้บัญชี "ผู้ดูแลระบบ" และชื่อโดเมนของคุณคือ "corp.domain.com" บัญชี "ผู้ดูแลระบบ" อยู่ในคอนเทนเนอร์ชื่อ "ผู้ใช้" ซึ่งอยู่หนึ่งระดับใต้รูทของโดเมน ดังนั้น DN แบบเต็มของ "ผู้ใช้" CN=Users,DC=corp,DC=domain,DC=comภาชนะจะเป็น: หากผู้ใช้ที่คุณผูกไว้อยู่ใน OU แทนที่จะเป็นคอนเทนเนอร์เส้นทางจะมี "OU = ou-name"

ดังนั้นการใช้บัญชีใน OU ชื่อService Accountsที่ย่อย OU ของ OU ชื่อCorp Objectsที่ย่อย OU ของโดเมนชื่อจะมีเส้นทางที่มีคุณสมบัติครบถ้วนของcorp.domain.comOU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com

รวมLDAP://dc1.corp.domain.com/กับเส้นทางที่ผ่านการรับรองไปยังคอนเทนเนอร์ที่ผู้ใช้รวมอยู่ (เช่นพูดLDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com) และคุณมี "สตริงการเชื่อมต่อ" ของคุณ

(คุณสามารถใช้ชื่อโดเมนในสตริงการเชื่อมต่อตรงข้ามกับชื่อของตัวควบคุมโดเมน. ความแตกต่างคือว่าชื่อโดเมนที่จะแก้ปัญหาที่อยู่ IP ของใด ๆควบคุมโดเมนในโดเมน. ที่สามารถเป็นได้ทั้งดีและไม่ดี คุณไม่ได้พึ่งพาควบคุมโดเมนใด ๆ เดียวที่จะขึ้นและทำงานสำหรับผู้ให้บริการสมาชิกในการทำงาน แต่ชื่อที่เกิดขึ้นในการแก้ไขการพูด, DC ในสถานที่ห่างไกลกับการเชื่อมต่อเครือข่ายขาด ๆ หาย ๆ แล้วคุณอาจมีปัญหาเกี่ยวกับการเป็นสมาชิก ผู้ให้บริการทำงาน)


ด้วย SBS 2008 อย่างน้อยดูเหมือนว่าพวกเขาจะเริ่มปฏิบัติตามคำนำหน้ามาตรฐาน "OU" ในสตริงสำหรับ OUs: CN = ชื่อของคุณ, OU = ผู้ใช้, DC = ตัวอย่าง, DC = local เรากำลังเรียกใช้ระดับการทำงาน 2003.
gravyface

คำตอบที่ดี ฉันสามารถให้รายละเอียดการเข้าสู่ระบบของบัญชีการสืบค้นไปยังตัวควบคุมโดเมนต่างประเทศในสตริงการเชื่อมต่อได้หรือไม่
Dan

ดังนั้นคุณหมายความว่าเครื่องระยะไกลที่เข้าถึง ActiveDirectory ควรอยู่ในโดเมนของตัวเองหรือ จะทำอย่างไรถ้าเครื่องในประเทศของฉันไม่ได้อยู่ในโดเมน หากเครื่องของฉันอยู่ในเวิร์กกรุ๊ปฉันต้องผ่านการรับรอง 2 เพื่อรับรองความถูกต้องของผู้ใช้หรือไม่ ฉันหมายถึงหนึ่งเข้าสู่ระบบ WindowsServer เครื่องและอื่น ๆ คือการตรวจสอบชื่อผู้ใช้และรหัสผ่านของผู้ใช้ ActiveDirectory ฉันถูกไหม?
Dinesh Kumar P

@DineshKumarP: ฉันมีปัญหาเล็กน้อยในการแยกวิเคราะห์คุณ ผู้ให้บริการสมาชิกใช้ข้อมูลประจำตัวที่ถูกต้องใน Active Directory (AD) เพื่อเชื่อมโยงกับไดเรกทอรี คอมพิวเตอร์ที่ใช้งานผู้ให้บริการสมาชิกไม่จำเป็นต้องเป็นสมาชิกของโดเมนโฆษณาใด ๆ แต่คุณต้องกำหนดค่าด้วยข้อมูลประจำตัวที่ถูกต้องจากโฆษณาเพื่อให้สามารถใช้งานได้
Evan Anderson

2
@ArthurRonald - ผู้ใช้ที่ไม่มีสิทธิ์สามารถผูกและสอบถาม Active Directory ได้ตามค่าเริ่มต้น ที่จริงแล้วมันอาจจะดีที่สุดถ้าคุณใช้ผู้ใช้ที่ไม่มีสิทธิ์ Active Directory มีรูปแบบ ACL ที่ค่อนข้างสมบูรณ์และคุณสามารถควบคุมการเข้าถึงออบเจ็กต์และแอตทริบิวต์ในแบบที่ละเอียดมาก คุณควรผูกกับบัญชีที่มีสิทธิ์เพียงพอที่จะทำสิ่งที่คุณต้องการ แต่ไม่มาก
Evan Anderson

23

พิมพ์dsquery /?command prompt

เช่นdsquery user -name Ja*ได้รับสตริงการเชื่อมต่อสำหรับผู้ใช้ทั้งหมดที่มีชื่อเริ่มต้นใน Ja *


ฉันชอบวิธีนี้มันให้ลำดับที่ถูกต้องของ OU และสิ่งอื่น ๆ เมื่อต้องการทำให้ชัดเจนให้ใช้ LDAP นี้: //dc1.corp.domain.com/ และเอาต์พุตจากคำสั่ง & รวมเข้าด้วยกันเพื่อสร้างสตริง ldap ที่เงียบได้ง่าย
RandomUs1r

3
เครื่องมือใดที่คุณต้องการติดตั้งเพื่อใช้คำสั่งนี้
Pred

ก่อนอื่นให้ดูคำตอบนี้
Stas Bushuev

18

ฉันเพิ่งใช้เครื่องมือนี้จาก Softerra (พวกเขาทำสุดยอดฟรีแวร์เบราว์เซอร์ LDAP) เพื่อรับ User DN จากผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน: http://www.ldapbrowser.com/download.htm


ขั้นตอนที่ 1: ในขั้นตอน "ข้อมูลรับรอง" เลือก "ผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน (ActiveDirectory เท่านั้น)" ขั้นตอนที่ 2: เมื่อการเชื่อมต่อถูกสร้างขึ้นในคุณสมบัติของมันไปที่แท็บ "รายการ" และคัดลอก URL ขั้นตอนที่ 3: ใช้ URL นั้นร่วมกับ DN ที่พบกับโซลูชันของ ErJab
Nicolas Raoul

7

ฉันมักจะมีปัญหาในการหาวิธีที่ถูกต้องในการพิมพ์ OU คำสั่งdsquery ou domainrootจะให้รายชื่อที่ถูกต้องของ OU ทั้งหมดในโดเมนของคุณ ไม่แน่ใจว่าสิ่งนี้จะช่วยให้องค์กรขนาดใหญ่ขึ้นหรือไม่


4
  1. ติดตั้งเครื่องมือการดูแลระบบเซิร์ฟเวอร์ระยะไกล: http://www.microsoft.com/en-us/download/details.aspx?id=7887

  2. เปิดพรอมต์คำสั่งและป้อน> เซิร์ฟเวอร์ dsquery

สำหรับข้อมูลเพิ่มเติมโปรดตรวจสอบโพสต์นี้ (ด้านล่างของโพสต์): http://www.schiffhauer.com/mvc-5-and-active-directory-authentication/


4

หากคุณเปิด ADSIedit มันจะแสดงเส้นทางเมื่อคุณเลือกที่จะเชื่อมต่อกับ ...

ป้อนคำอธิบายรูปภาพที่นี่



1

ฉันพบวิธีที่ง่ายที่สุด :

คุณสามารถหาได้จาก

เซิร์ฟเวอร์ไดเรกทอรีที่ใช้งานอยู่ -> เลือกหน่วยองค์กร OU -> คลิกขวา -> คุณสมบัติ -> AttributeEditor -> DistinguishedName

ฉันได้รับสิ่งเหล่านี้จาก Microsoft Windows Server 2012 R2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.