SharePoint Custom Application Page İçin Anonim Erişim Vermek

Merhaba arkadaşlar bugün sizlere SharePoint ortamında visual studio ile oluşturulacak bir Application Page sayfasına dışarı açık anonim erişim nasıl verebileceğinizden bahsedeceğim.

İlk olarak SharePoint Central Administration açıyoruz.

Burada yer alan menüden “Application Management” altında yer alan “Manage web applications” linkine tıklıyoruz ve web application listemize gidiyoruz.

Buradaki web application listesinde hangi sitede erişim vermek istiyorsak o siteyi seçiyoruz ve “WEB APPLICATIONS” tabında yer alan “Authentication Providers” seçeneğine tıklıyoruz.

Burada açılacak olan popup ta “Zone” kısmında yer alan “Default” seçerek tıklıyoruz.

Yeni açılan ayarların olduğu popupta ise “Anonymous Access” başlığının yanında yer alan “Enable anonymous access” check boxını seçili değil ise seçiyoruz ve sayfanın en altında “SAVE” diyerek yaptığımız ayarlamayı kaydediyoruz.

Burada Application page imizi dışarı açacağımız sitemize dışarıdan erişim yetkisi tanımlıyoruz.

Daha sonradan Visual Stuido ortamında Application Page ekleyeceğimiz projeyi açıyoruz.

Burada ben ekstra olarak server parafında sayfamın ascx kısmını kontrol edebilmem için folder map yapıyorum. Projeme sağ tıklıyorum ve gelen menü den “Add” kısmın altında yer alan “SharePoint “Layouts” Mapped Folder” seçeneğini tıklıyorum.

Dediğim gibi bu kısım tamamen sizin tercihinize kalmış bir işlemdir.

Daha sonra projenizde application page eklemek istediğiniz yeri seçerek sağ tıklıyoruz. Ben projemde layouts folder map yaptığım için bana oluşturduğu dosya da sağ tıkladım ve “Add” altında  yer alan “New Item…” seçeneğine tıkladım.

Gelen popup kısmında “Application Page (Farm Solution Only)” seçerek “Name” kısmına sayfanın ismini tanımlayıp “Add” butonu ile projemize sayfamızı ekliyoruz.

Oluşturduğumuz application page sayfamızın default ön yüzünden gelen kısımda “asp:Content” lerin hepsini ve “Page” tagında yer alan “DynamicMasterPageFile” tanımlamasını siliyouz. Sonrasında ise sayfaya “form” tagı içerisinde istediğimiz contentleri ekliyoruz.

Son durumda sayfamızın tasarımı yukarıdaki gibi olacaktır. Sadece “form” tagı içerisinde sizin istediğiniz şekilde contentler yer alabilir. Sonrasında code behid tarafına geçiyoruz.

Code behind tarafında ise sayfa inherent ettiğini gösteren “LayoutsPageBase” tanımını “UnsecuredLayoutsPageBase” olarak güncelliyoruz ve “Page_Load” üstüne aşağıdaki kodu ekliyoruz.

<br />
        protected override bool AllowAnonymousAccess   </p>
<p>        {  </p>
<p>            get   </p>
<p>            {  </p>
<p>                return true;  </p>
<p>            }  </p>
<p>        }<br />

Bu işlemleri eksiksiz tamamlayınız.

Son durumda code behind tarafında olması gereken standart kod yapısı yukarıdaki gibi olacaktır. Bu aşamadan sonra “Page_Load” içerisine çalışmasını istediğiniz kodu yazabilirsiniz.

Ben kod kısmında ascx tarafında eklediğim asp label a yazı yazdım.

Bütün işlemleri tamamlayıp projeyi ortama deploy ediyoruz.

Tüm işlemleri sorunsuz bir şekilde yapıp projenizi deploy ettiğiniz zaman sayfanıza gittiğinizde sayfanız yukarıdaki gibi login istemeden gelecektir 🙂

Bir Cevap Yazın