Activating Authorization Success Event Publish Feature

Spring Security publishes various authentication and authorization events during its security checks. Spring managed beans which implement ApplicationListener interface or beans with methods annotated with @EventListener can consume those events within the application. One of those security related events is AuthorizedEvent which indicates that user request is allowed to access secure web resource. It is, […]

Read More →
Bu Devirde Şifreleri Hala Kriptolamadan mı Tutuyorsunuz?

Değerli Üyemiz, Sistemimizde yer alan kullanıcı adı ve şifreniz aşağıda bildirilmiştir: Kullanıcı Adı: XXX Şifre: XXX XXX’i tercih ettiğiniz için teşekkür ederiz. Yukarıda gördüğünüz mesaj çok ünlü bir İK sitemizdeki hesap bilgilerimi unuttuğumda e-posta adresime hatırlatıcı olarak gönderildi. İK firmasının adını XXX ile gizledim. XXX ile kapattığım diğer kısımlarda da kullanıcı adı ve şifrem yer […]

Read More →
Adding New Permission Types to Spring Security ACL

Domain object level security is probably least used feature of Spring Security compared to url based and method level security features for enterprise Java web applications. However, when you have a security requirement something like “I want to restrict some operations which is allowed for some roles based on criteria that can be obtained from […]

Read More →
Reusing Persistent Token Mechanism of Spring Security

Spring Security Framework exists in my enterprise application development tool suite for ages. Over years it has evolved a lot and become a much more reusable and extendable framework for various security needs. Recently, one of my clients came up with an interesting requirement. They are developing a mobile client for their enterprise web application, […]

Read More →
Enabling SSL on Apache HTTP Server

After opening our JIRA to outside world via Apache HTTP Server, the next obvious thing was securing communication between users and the web server. Enabling SSL on Apache HTTP Server is really easy. The key ingredients of securing Apache are mod_ssl and OpenSSL. It is possible to download Apache distribution including mod_ssl and openssl runtime. […]

Read More →
Redirecting Users to Different Start Pages based on Their Roles

In our project there is a requirement such that some users may have to be redirected to different start pages based on roles assigned to them other than initially provided defaultTargetUrl. Actually there is a similar discussion in Spring Framework’s forum, suggesting a solution to this issue with extending AuthenticationProcessingFilter and overriding its successfulAuthentication(…) method […]

Read More →
Sahi JAAS’a Ne Oldu?

Java Developer’s Journal’in bu haftaki sayısında “Whatever Happened To JAAS” başlıklı bir makale dikkatimi çekti. JAAS, java runtime security üzerinde bina edilmiş bir kimliklendirme ve yetkilendirme framework olarak uzun zamandır kurumsal java dünyasında; ancak ilk çıktığından bu yana istenilen ilgi ve alakayı görebilmiş değil. Bunun sorumlusu ise tabi ki Java spesifikasyonlarını oluşturan komiteler. Ne JEE […]

Read More →
Biri Bizi Gozetliyor

Bir süredir tasarım örüntüleri hakkında yazılar yayımlıyorum. Bazı arkadaşlar Java dilinde tasarım örüntülerinin gerçekleştirimi için ne tür hazır yapıların olduğunu merak ettiklerini belirtiyorlar. Gelen sorular doğrultusunda bu yazıda Observer örüntüsünün Java’daki karşılığından da bahsetmeye çalışacağım. GUI programlama yapanlar, özellikle awt ve Swing kullananlar bu örüntüyü bilerek veya bilmeyerek zaten uzun zamandır kullanıyorlar. Herhangi bir UI […]

Read More →
Apache de Hacklenmis

Dün Atlassian’ın şifreleriniz ele geçirilmiş olabilir mesajından bahsetmiştim. Atlassian hacklenmenin detaylarından çok bahsetmemişti. Ancak 6-9 Nisan tarihleri arasında Apache’de hacklenmiş. Özetlersek XSS ile başlayan bir saldırı ve Apache’nin JIRA sistemini hedef almış. Sonuçta da Apache’deki bir sunucunun root yetkileri ele geçirilmiş, JIRA, Confluence ve Bugzilla sistemleri ve veritabanları hallaç pamuğu gibi dağıtılmış. İşin ilginç yanı […]

Read More →