6 adımda Sharepoint 2007 Forms Authentication

Yazar: Timuçin DURSUN
Kategori: MS SharePoint
Eklenme Tarihi: 29.8.2007 12:16:52



Windows Authentication kullanıcı yönetiminden Forms Authentication kullanıcı yönetimine geçişi...

Sharepoint 2007 Forms Authentication

Bu makalede Sharepoint portalınızda bulunan bir Web Applicationun kullanıcı kimlik denetiminin Active Directory’den Forms Authentication’a nasıl dönüştürüleceğini adım adım anlatıyor olacağız.

1. Öncelikle Forms Authentication kimlik denetimini aktif edeceğimiz site için kullanıcı bilgilerinin tutulduğu veritabanını oluşturmamız gerekiyor. Bu veritabanı ASP.net uygulamalarında Membership, Profile ve Role Management gibi bilgilerin tutuldugu ASP.net Application Services veritabanıdır. Veritabanını oluşturmak için .NET Framework bize büyük kolaylık sağlayan bir kurulum içermektedir. Bu uygulamaya serverınızın aşağıdaki adresinden ulaşabiliriniz.( Kendi bilgisayarımda root sürücüm C: olduğu için örnek olarak aşağıdaki adresi veriyorum.)

C:\WINDOWS\Microsoft.NET\Framework\v2.0.XXXXX\aspnet_regsql.exe

Uygulamayı çalıştırdığınızda karşınıza aşağıdaki gibi bir ekranın gelmesi gerekiyor.

Yukarıdaki ekran karşınıza geldikden sonra aşağıdaki adımları izleyerek veritabanı kurulumunu tamamlayınız.

  • Next dediğimizde karşımıza çıkan ekranda “Configure SQL Server for application services” seçeneğini seçeceğiz. Tekrar Next diyeceğiz.
  • Şimdi karşınıza SQL Server’ımızın kurulu olduğu lokasyonun adresi, SQL Servera yazma hakkı olan kullanıcı adı ve oluşturulacak Database adı ile ilgili bilgi isteyen bir ekran gelicek. Database adını <Default> olarak bırakırsanız varsayılan olarak “aspnetdb” adında bir veritabanı oluşturulacaktır. Gerekli bilgileri girdikden sonra Next diyeceğiz.
  • Bilgilerin özetinin olduğu ekran karşımıza gelecek. Onaylıyorsak Next deyip Veritabanı kurulum işlemini tamamlamış olacağız.
  • Hata ile karşılaşmamış isek sonraki adıma geçebiliriz.

(Bu kısımda karşılaşabileceğiniz iki muhtemel hatadan birisi hatalı adres veya kullanıcı kimlik bilgisi vermiş olmanızdır.)

2. Veritabanını oluşturdukdan sonra Office Server Central Administration ve Web Application yöneticisinin veritabanına erişmesi için gerekli hakları vermeyi unutmayın. Bunu yapmaz iseniz Sharepoint siteleri kimlik doğrulama işlemi için veritabanında sorgulama yapamayacakdır.

3. Yukarıdaki işlemleri yaptıkdan sonra Office Server Central Administrator sitemizde “Central Administration > Application Management > Authentication Providers” yolunu takip ederek gerekli yönetimsel arayüze gelmemiz gerekli.



Bu arayüze geldikden sonra sağ üst köşede Web Application listesinden kendi Web Applicationumuzu seçmeliyiz. Sonrasında Zone Kolonu altında bulunan Default linkine tıklayıp Authenticaton konfigurasyonunu yapmamız gerekiyor. Bu işlemi aşağıdaki yolları izleyerek yapacağız.

  • Navigasyonda Central Administration > Application Management > Authentication Providers > Edit Authentication konumuna geldiğimizi varsayıyoruz.
  • Web Application olarak kendi uygulamamızı seçtiğimizden emin olalım.
  • Authentication Type olarak Forms seçeceğiz.
  • Anonymouse erişime izin veriyor isek Enable anonymouse access seçimini yapacağız.
  • Membership Provider Name kısmınada web.config içerisinde tanımladığımız Provider Name’ini yazıyoruz. Burda MyProvider.
  • Diğer ayarlarıda isteğiniz doğrultusunda değiştirmeniz gerekiyor.
  • Tüm işlemler bitince Save butonuna basıp işlemimizi tamamlıyoruz.

4. Sıra geldi Form Authentication’u gerçekleştirmek amacıyla web.config dosyalarında değişiklik yapmaya. Office Server Central Administration ve Web Application sitelerinin web.config dosyalarında aşağıda anlatmış olduğum değişiklikleri yapmamız gerekmektedir. Bu dosyalar varsayılan olarak Server’ınızın root dizinindeki inetpub klasörü içerisinde bulunurlar. Kendi bilgisayarımda Office Server Central Administration web.config dosyası aşağıdaki adresde;

C:\Inetpub\wwwroot\wss\VirtualDirectories\12345\web.config

Web Application sitemin web.config dosyasıda aşağıdaki adresde bulunuyor. Bu adresler yada klasör isimleri Sharepoint sitelerinizin adı ve portu ile benzerlik göstermektedir.

C:\Inetpub\wwwroot\wss\VirtualDirectories\80\web.config

Belirttiğim iki web.config dosyasına aşağıdaki parametreleri girmeniz gerekiyor. Bu parametrelerden birisi Membership Provider bilgisi diğeri ise Membership Providerın kullandığı veritabanıdır.

Her iki Web.config dosyası içerisinde <System.Web> tagı içerisine aşağıdaki Membership Provider ve <System.Web> tagı dışına ConnectionStrings tanımlamalarını yapacağız.

...........

...........

<connectionStrings>

<clear/>

<add name="MySqlServer" connectionString="Data Source=MOSSDEV;Initial Catalog=aspnetdb;Integrated Security=True;" />

</connectionStrings>

<system.web>

<membership defaultProvider="MyProvider">

<providers>

<clear/>

<add name="MyProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlServer"/>

</providers>

</membership>

...........

...........


5. Database ve Membership Provider ayarlarımızı artık tamamlamış bulunuyoruz. Database’imizi oluşturduk fakat tanımlı bir kullanıcımız bulunmuyor. İlk aşamada Administrator yetkisi verebilmemiz amacıyla en az bir kullanıcıyı database’imizde oluşturmamız gerekmektedir. Bunu yapmanın birçok yolu var fakat ben burda en basit gördüğüm yolu size anlatmaya çalışacağım. Aşağıdaki adımları izleyerek ilk kullanıcımızı oluşturalım.

  • Bir web uygulaması oluşturalım.
  • Web uygulamamıza Web.config dosyası ekleyelim.
  • Web.config dosyamızın içeriğine yukarıda anlatmış olduğum providerleri ekleyelim. (Sharepoint sitemiz için oluşturduğumuz Membership provider ile burda yazacağımız providerın birebir aynı olmasına dikkat etmeliyiz.)
  • Son olarak Visual Studio içersinde Web Site > ASP.NET Configuration yolunu izleyerek konfigurasyon sitemizi açalım.
  • Security tabına geçiş yaparak bir kullanıcı oluşturalım.

6. Yukarıdaki işlemde bittiğinde burada gözden kaçırmamanız gereken bir husus daha bulunmaktadır. Web Application ve Site Collection oluştururken vermiş olduğunuz Active Directory kullanıcısının artık siteleriniz üzerinde yönetimsel hakkı bulunmamaktadır. Bu durumu düzeltmek amacıyla öncelikle Office Server Central Administration siteniz içerisinde Application Management arayüzünü açmalısınız. Bu arayüze geldiğinizde SharePoint Site Management başlığı altında bulunan Site Collection Administrators linkine tıklamalısınız.



Bu arayüze geldiğinizde;

  • Site collection listesinde Web Applicationunuzu seçmeniz gerekiyor.
  • Primary Site Collection Administrator ve Secondary Site Collection Administrator konumlarınada gerekli gördüğünüz kullanıcı adlarını giriniz.

Yukarıdaki 6 adımı tamamladıkdan sonra aşağıdaki resimde olduğu gibi sitenize giriş yapabilirsiniz.

Tüm bu işlemleri yaptıkdan sonra Sharepoint sitenize giriş yapamıyor iseniz;

  • IIS resetlemeyi deneyiniz (cmd > iisreset)
  • Bilgisayarınızı yeniden başlatınız.

Karışık ve zor gibi gözüken bir işlemi 6 adımda tamamlamış olduk. Umarım Sharepoint uygulamalarınız için yararlı bir makale olmuştur.

Bir sonraki makalede görüşmek dileğimle iyi çalışmalar :)

Timuçin DURSUN


Timuçin DURSUN

İlgilendiği konular öncelik sırasına göre C#,ASP.NET,ADO.NET,ADO.NET Entity Framework,LINQ,SOA and Distributed Systems,NUnit,NHibernate(Object-relational mapping), Design Patterns, WPF, SilverLight-WPF/E. http://www.timucindursun.com sitesinden yazar hakkında ayrıntılı bilgi alabilirsiniz.
Bu makaleye ilk yorum yapan siz olun.

Yorumunuz