Visual Studio Ortamında SSL aktifleştirme

SSL -> Security Sockets Layer (Güvenli Soket Katmanı)

SSL, network üzerindeki bilgi transferi sırasında güvenlik ve gizliliğin sağlanması amacıyla geliştirilmiş bir güvenlik protokolüdür.

Öncelikle projemizin https olarak kendini host edebilmesi lazım.

Normalde proje IIS’te ayağa kaldırıldıktan sonra gerekli sertifikaları yüklenir. Ve https haline kavuşur. Geliştirme aşamasında olan projemiz içinse visual studio üzerinde ufak bir ayarla bunu gerçekleştirebiliriz.

Projemize tıklayıp klavyeden F4 tuşuna bastığımızda properties penceresi gelecektir.

Orda da SSL URL boş gelecektir. SSL Enabled True’ya çekilir. Sonrasında SSL URL linki otomatik oluşacaktır.

Şimdi ise bir filter yazacağız. Oluşturduğumuz class;

AuthorizationFilterAttribute’den miras almalıdır.

OnAuthorization metodunu eziyoruz. Ve aşağıdaki kodları yazıyoruz.

if(actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps)
{
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden)

ReasonPhrase = "SSL Zorunludur"
};
}
else
{
base.OnAuthorization(actionContext);
}

En son olarak yazdığımız filter classının ismini attribute olarak kullanacağımız controller üzerine veya bütün controllerlar için geçerli olmasını istiyorsak AppConfig klasörü içindeki WebApiConfig classına

config.Formatters.Add(new filterClassİsmi());

şeklinde yazarak aktif hale getirebiliriz.