Yakın zamanda gerçekleştirmiş olduğum bir projede kazandığım tecrübeleri sizlerle paylaşmak istedim.
İstek şu şekildeydi; Extranet Portali kurulacaktı. Bu portale, şirketin birlikte çalıştığı paydaş firmaların personelleri girecekti. Normal şartlarda portal windows authentication ile yapılandırılmış olduğundan, dışarıya erişime açtığımda kullancılar portale erişmek istediklerinde basic authentication’a ait bir kullanıcı adı parola ekranı ile karşılaşacaklardı. Bu yöntem, göze çok hitap etmiyordu, bu sebeple portale bir kullanıcı adı ve parola form ekranı ile girmek istediklerini belirttiler. SharePoint’te FBA aktif edildiğinde varsayılan olarak gelen bir form ekranı var. BU form çok basit bir görüntüye sahipti. Bu sebeple benden özelleştirilmiş bir giriş ekranı istediler. Bunlara ek olarak, iç ve dış kullanıcılar için kullanıcı yönetimini Active Directory üzerinden yapmak istediklerini ilettiler.
Yapacaklarım sırasıyla:
İlk olarak Central Admin sayfasından ilgili Web Application için authentication yöntemlerine FBA’yı da ayarlamamız lazım
Aşağıdaki Web.Config dosyalarını düzenlememiz gerekiyor.
İşlemlere başlamadan önce aşağıdaki bilgileri elde edin.
1. Aşağıdaki kısmı bir metin editörüne kopyalayın.
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<add name="LdapMembership"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.hk.local"
port="389"
useSSL="false"
userDNAttribute="distinguishedName"
userNameAttribute="sAMAccountName"
userContainer="OU=FTP Users,DC=hk,DC=local"
userObjectClass="person"
userFilter="(ObjectClass=person)"
scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" >
<providers>
<add name="LdapRole"
type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.hk.local"
port="389"
useSSL="false"
groupContainer="OU=FTP Users,DC=hk,DC=local"
groupNameAttribute="cn"
groupNameAlternateSearchAttribute="samAccountName"
groupMemberAttribute="member"
userNameAttribute="sAMAccountName"
dnAttribute="distinguishedName"
groupFilter="(ObjectClass=group)"
userFilter="(ObjectClass=person)"
scope="Subtree" />
</providers>
</roleManager>
2. Kopyaladığınız bölümdeki server, userContainer, groupContainer bilgilerini yukarıda bahsedilen bilgilere göre düzenleyin.
3. Central Administration’ı barındırdığınız sunucu(larda)da IIS Manager’ı açıyoruz.
4. Sites altında yer alan SharePoint Central Administration’a sağ tıklayıp Explorer’ı tıklıyoruz.
5. Mevcut web.config dosyasını Kopyala/Yapıştır yaparak bir yedeğini alalım.
6. Bir metin editorü ile web.config dosyasını açalım. (Ücretsiz olan Notepad++ ‘ı tavsiye ederim.)
7. <Configuration> bölümünün altında yer alan <system.web> bölümüne yukarıda düzenlediğimiz kısmı yapıştıralım.
1. Aşağıdaki kısmı bir metin editörüne kopyalayın.
<system.web>
<membership>
<providers>
<add name="LdapMembership"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.hk.local"
port="389"
useSSL="false"
userDNAttribute="distinguishedName"
userNameAttribute="sAMAccountName"
userContainer="OU=FTP Users,DC=hk,DC=local"
userObjectClass="person"
userFilter="(ObjectClass=person)"
scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn" />
</providers>
</membership>
<roleManager enabled="true" >
<providers>
<add name="LdapRole"
type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.hk.local"
port="389"
useSSL="false"
groupContainer="OU=FTP Users,DC=hk,DC=local"
groupNameAttribute="cn"
groupNameAlternateSearchAttribute="samAccountName"
groupMemberAttribute="member"
userNameAttribute="sAMAccountName"
dnAttribute="distinguishedName"
groupFilter="(ObjectClass=group)"
userFilter="(ObjectClass=person)"
scope="Subtree" />
</providers>
</roleManager>
</system.web>
2. Kopyaladığınız bölümdeki server, userContainer, groupContainer bilgilerini yukarıda bahsedilen bilgilere göre düzenleyin.
3. SharePoint sunucularda IIS Manager’ı açıyoruz.
4. Sites altında yer alan SharePoint Web Services’ın altında yer alan SecurityTokenServiceApplication’a sağ tıklayıp Explorer’ı tıklıyoruz.
5. Mevcut web.config dosyasını Kopyala/Yapıştır yaparak bir yedeğini alalım.
6. Bir metin editorü ile web.config dosyasını açalım. (Ücretsiz olan Notepad++ ‘ı tavsiye ederim.)
7. <Configuration> bölümünün altında <system.web> bölümü oluşturun ve yukarıda düzenlediğimiz kısmı yapıştıralım.
1. SharePoint sunucularda IIS Manager’ı açıyoruz.
2. Sites altında yer alan SharePoint – 80 veya FBA’yı ayarlamak istediğiniz Web Application’a sağ tıklayıp Explorer’ı tıklıyoruz.
3. Mevcut web.config dosyasını Kopyala/Yapıştır yaparak bir yedeğini alalım.
4. Bir metin editorü ile web.config dosyasını açalım. (Ücretsiz olan Notepad++ ‘ı tavsiye ederim.)
5. <Configuration> bölümünün altında yer alan <system.web> bölümünü bulun.
6. Aşağıdaki kısmı, bir metin editörüne kopyalayıp, server, userContainer, groupContainer bilgilerini yukarıda bahsedilen bilgilere göre düzenleyin.
<add name="LdapMembership"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.hk.local"
port="389"
useSSL="false"
userDNAttribute="distinguishedName"
userNameAttribute="sAMAccountName"
userContainer="OU=FTP Users,DC=hk,DC=local"
userObjectClass="person"
userFilter="(ObjectClass=person)"
scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn" />
7. <membership defaultProvider=”i”> yazan kısmın altına bir önceki adımda düzenlediğiniz bilgileri ekleyin.
8. Yine aşağıdaki kısmı, bir metin editörüne kopyalayıp, server, userContainer, groupContainer bilgilerini yukarıda bahsedilen bilgilere göre düzenleyin.
<add name="LdapRole"
type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="dc.yourdomain.com"
port="389"
useSSL="false"
groupContainer="DC=yourdomain,DC=com"
groupNameAttribute="cn"
groupNameAlternateSearchAttribute="samAccountName"
groupMemberAttribute="member"
userNameAttribute="sAMAccountName"
dnAttribute="distinguishedName"
groupFilter="(ObjectClass=group)"
userFilter="(ObjectClass=person)"
scope="Subtree" />
9. <roleManager defaultProvider=”c” enabled=”true” cacheRolesInCookie=”false”> yazan kısmın altına bir önceki adımda düzenlediğiniz bilgileri ekleyin.
Bu işlemlerden sonra komut satırında iisreset komutunu çalıştıralım.
Bu işlemden sonra Portaliniza bağlandığınızda aşağıdaki görüntüyü alıyor olmanız gerekiyor.
Bu makalemizin de sonuna geldik. Bir sonraki makalemizde görüşmek üzere…
Kaynak: http://wiki.deepnetsecurity.com/pages/viewpage.action?pageId=1411571
Microsoft SharePoint Technet ve MSDN forumları yerini Microsoft Q&A tartışma panolarına yerini bırakıyor. 10 Ağustos…
Biliyorum, başlık çok garip, ilk bakışta anlaşılması zor. Ama şöyle tarif etmeye çalışayım. Bildiğiniz üzere…
Merhaba Arkadaşlar, Bu yazımızda sizlere TypeScript geliştirme ortamının (TypeScript Development Environment) nasıl hazırlanacağından bahsedeceğim. Öncelikle…
Merhabalar, bu yazımızda sizlere bir TypeScript projesinde farklı ts dosyaları içerisindeki function, class veya interface'lerin,…
Merhaba arkadaşlar, Yakın zamanda TypeScript öğrenmeye başladım. Hem öğrendiklerimi pekiştirmek hem de sizlerle paylaşmak adına…
Merhaba Arkadaşlar, Bu yazımızda sizlere mevcut SharePoint portalimizin, tablet, cep telefonu gibi farklı çözünürlükteki cihazlarda…