Merhabalar, bir önceki yazımızda sizlerle Forms-Based Authentication’ı SharePoint portalimiz üzerinde etkinleştirmiştik. Ve ardından form aracılığı ile Active Directory hesaplarımızı kullanarak portale erişim sağlamıştık. Bu yazımızda FBA ( Forms-Based Authentication ) kullandığımız zaman SharePoint üzerinde yaşadığımız bir durumu nasıl düzenleyeceğimizi öğreneceğiz.

SharePoint portalinde çoğunuzun bildiğiniz üzere kişi seçici özelliği bulunmaktadır. Bir dosyayı paylaşacağınız zaman, yetki vereceğiniz zaman çıkan ekranlarda sizlerden bir kişi seçmenizi ister. Bu ekranlara kişi seçici yani people picker denir. FBA’yı atkif ettiğimiz zaman bu alanlarda bir isim yazmaya başladığınızda iki yerde bu kişi isimlerini arar. Birincisi Active Directory’de ikincisi eğer varsa FBA’da tanımladığınız diğer kimlik sağlayıcılarında. Normal şartlarda sadece AD üzerinde arama yapar.

Projede portal kullanıcılarının kişi seçme ekranlarında sadece FBA üzerinde tanımlanmış dizinde arama yapmasını ve önermesini istendi.

Aşağıdaki görselde göreceğiniz üzere ftp.user yazınca iki sonuç getirdi. Birisi AD Provider’dan gelen sonuç diğeri FBA Provider’dan gelen sonuç. Aslında ikiside aynı hesabı işaret ediyor.

AD Provider’ı kaldırmak için SharePoint sunucumuzda bulunan Management Shell üzerinde bir kaç powershell betik yazmamız gerekiyor.

Management Shell’de aşağıdaki komutu çalıştıralım ve çıkan sonucu görelim.

Get-SPClaimProvider | Select DisplayName

Göreceğiniz üzere sistemimizde birden fazla Claim Provider var. Ben Active Directory Provider’ı kişi seçicilerden gizlemek istiyorum. Bunun için Management Shell üzerinde aşağıdaki komutları çalıştıralım.

$cpm = Get-SPClaimProviderManager
$ad = Get-SPClaimProvider | Where-Object {$_.DisplayName -eq "Active Directory"}
$ad.IsVisible = $false
$cpm.Update()

Bu komutlar sonrası kişi seçicilerde sadece FBA dizininden gelen sonuçlar gözükecektir.

Bir diğer konumuz ise kişi seçicilerde otomatik tamamlamanın FBA dizinindeki sonuçlarda çalışmaması. Örnek vermek gerekirse AD Provider tanımlı olduğu zamanlarda kişi seçicilerde bir ismin 3 harfini yazarsanız, içerisinde o yazdığınız 3 harfin olduğu önerileri getirecektir. Bu işlemi yapabilmek için; SharePoint sunucumuzda IIS Manger’ı açalım ve portal sitemizin olduğu node’un üzerinde sağ tıklayıp Explorer seçeneğini seçelim. Açılan pencerede yer alan web.config dosyamızı bir metin editörü ile açalım ve içerisinde <PeoplePickerWildcards> etiketini arayalım. Bu etiketin altına FBA’da tanımlamış olduğumuz provider ismini aşağıda gördüğünüz şekilde ekleyelim.

<add key="LdapMembership" value="*" />

Bu yazımızda anlatacaklarım şimdilik bu kadar. Bir sonraki yazımıda görüşmek üzere.

About the author

Hasan KÖROĞLU

Leave a Comment