Tôi hiện đang cố gắng xác thực qua Dịch vụ Thư mục Họat động bằng cách sử dụng lớp PrincipalContext. Tôi muốn ứng dụng của tôi xác thực với Miền bằng ngữ cảnh Sealed và SSL. Để làm được điều này, tôi phải sử dụng the following constructor of PrincipalContext (link to MSDN page):Dịch vụ thư mục hoạt động: PrincipalContext - DN của đối tượng "vùng chứa" là gì?
public PrincipalContext(
ContextType contextType,
string name,
string container,
ContextOptions options
)
Cụ thể, tôi đang sử dụng các nhà xây dựng như vậy:
PrincipalContext domainContext = new PrincipalContext(
ContextType.Domain,
domain,
container,
ContextOptions.Sealing | ContextOptions.SecureSocketLayer);
MSDN nói về "container":
Thùng chứa trên cửa hàng để sử dụng làm gốc của ngữ cảnh. Tất cả các truy vấn được thực hiện dưới gốc này và tất cả các chèn được thực hiện vào vùng chứa này. Đối với tên miền và loại bối cảnh ApplicationDirectory, thông số này là tên phân biệt (DN) của đối tượng chứa.
DN của đối tượng chứa là gì? Làm cách nào để tìm hiểu đối tượng chứa của tôi là gì? Tôi có thể truy vấn máy chủ Active Directory (hoặc LDAP) cho điều này không?
Lời giải thích của bạn cho "phần lạ" là chìa khóa để khắc phục sự chậm trễ 20 giây gọi là "ValidateCredentials'. Cảm ơn! –
Tôi biết điều này là siêu cũ nhưng tôi đang nghiên cứu có hay không sử dụng SSL qua Đăng ký và đi qua bài đăng này. Tôi tin rằng bạn có thể sử dụng 'null' trong constructor. Đó là cách tôi làm điều đó khi tôi muốn chỉ định ContextOptions. Ví dụ: 'var pc = new PrincipalContext (ContextType.Domain, Environment.UserDomainName, null, ContextOptions.Sealing);' – famousKaneis
@nameless: Tôi nghĩ đó là những gì mã hiển thị trong khối mã cuối cùng. (FWIW, tôi hầu như không nhớ điều này là gì, nhưng hãy nhớ rằng thực sự hạnh phúc khi tôi tìm ra nó.) :) – Pretzel