by oozturk
30. January 2009 00:33
Bu soruna çözüm üretmek için esasen her ssl gereken sayfanın OnInit event'ine request.IsSecureConnection değerine göre bir Response.Redirect komutu ile yönlendirmek yeter. Ancak her sayfa için bunu yapana kadar hele hele bir de response.redirect diye yapılacak yönlendirme için sürekli if conditionlar ile yorulana kadar daha kolay bir çözüm bulmak daha mantıklı geliyor kulağa.
Bunun için internette arama yaparken güzel bir çözüm buldum. Keith Brown tarafından yazılmış olan SslHelper - Get help running a partial SSL website in ASP.NET adlı makalede güzel bir çözüm var. Bu çözümü biraz modifiye ettim ve aşağıdaki gibi bir çözüm daha kolay oldu.
Adımlara bakalım
1. Aşağıdaki dosyayı uygulamanıza ekleyin.
PageBases.cs (3,00 kb)
2. SSL istediğiniz sayfalara şu ayarı yapın.
Kod görünümündeki sayfanın class tanımlama satırındaki Page (System.Web.UI.Page) değeri yerine SecurePage yazın
3. SSL istemediğiniz sayfalara şu ayarı yapın.
Kod görünümündeki sayfanın class tanımlama satırındaki Page (System.Web.UI.Page) değeri yerine PlainPage yazın
4. Test edin.
Visual studio'nun web server'ının SSL desteği yoktur. Bu sebeple eğer bu özelliği kullanıyorsanız sayfa açılmayacaktır! Visual
Studio ile SSL sayfalarına sahip bir web uygulamasının debug için
ayarlanması (Visual Studio Web Server'ın https yani ssl bağlantılarını
kabul etmesinin sağlanması) yazımı okursanız, bu soruna da kolaylıkla çözüm bulabilirsiniz.