LDAP

2010-02-11 32 views
6

'dan program aracılığıyla bilgi alma IIS7'de bir ASP.Net sayfası çalıştırıyorum ve VS 2008'de geliştiriyorum. Şu anda, bir LDAP bağlantısı üzerinden kullanıcı kimlik doğrulaması yapıldı. Kullanıcı bir sayfada oturum açtığında, kendileriyle ilgili bazı temel bilgileri içeren bir forma sahipler (ad, e-posta adresi, ülke ve benzeri gibi) ve bu alanlardan bazılarını önceden depolanmış bilgilerden önceden doldurmak istiyorum. LDAP. Özellikle kendi isimleri ve e-posta adresleri. Soru şu ki, C# kullanarak bu bilgiyi nasıl edinebilirim?LDAP

cevap

8

.Net 3.5 SP1'de olduğu gibi, ad alanını kullanarak büyük bunu basitleştirebilirsiniz.

var pc = new PrincipalContext(ContextType.Domain, "mydomaincontroller"); 
var u = UserPrincipal.FindByIdentity(pn, userName); 
var email = u.EmailAddress; 
var name = u.DisplayName; 

Here's a full list of properties sen yakala:

İşte bir örnek verilmektedir.

+1

Teşekkürler, küçük bir soru olsa da. 'Mydomaincontroller' için kullandığınız dize için ne kullanacağından emin değilim. Ldap kimlik doğrulaması, Web.Config içinde ActiveDirectoryMembershipProvider kullanılarak yapıldı. Muhtemelen bir kullanıcı adı ve şifre olduğu sürece LDAP URL'sini sağlamanız gerekir. Ne zaman/Nerede/Nasıl yapılır? –

+3

@Jacob - Normalde çeşitli etki alanı denetleyicilerine bağlanıyorum ... Ayrıca sadece var olan var pc = new PrincipalContext (ContextType.Domain); 'ne olursa olsun, herhangi bir etki alanı denetleyicisi pencere seçtikleri kapmak için ... ya da ... 'var pc = new PrincipalContext (ContextType.Domain," my.server.com "," user "," pass ");' Burada tam seçenekler listesi: http://msdn.microsoft.com/en-us/ library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx –

+0

Teşekkürler, bu istediğim gibi görünüyor! –