Feature Interaction Problems and Spring Security

Feature interaction problem is something that features work smoothly and without any problem in your system individually; however, problems arise with those features when you bring them together. Bertrand Meyer has recently published his thoughts about the topic as well. While reading on it, I’ve come to realize that Spring Security has several similar issues […]

Read More →
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 →
Kurumsal Java Eğitimleri Haziran 2013 Bülteni

Herkese bu sıcak Ankara günlerinden merhabalar, Bu ay sizlerle tasarım örüntüleri, ve Spring ile ilgili ilginç konuları paylaşacağım. İlk konumuz, tasarım örüntüleri ve “double dispatch” problemi ile ilgili. Geçtiğimiz aylarda bu konu ile ilgili iki yazımız yayımlandı. Bu yazılarda visitor örüntüsünün de temelini oluşturan double dispatch mekanizmasının Java’da nasıl hayata geçirilebileceğini inceliyoruz. Java ve Double […]

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 →
Allowing roles without defining them in intercept-url element

Spring Security Framework has lots of authentication and authorization features, and almost all of them can be customized and extended according to your own needs. One of the common requests I come up with is that developers don’t want to explicitly define roles which have administrative priviledges in intercept-url elements like below; <intercept-url pattern=”/secured/*” access=”ROLE_ADMINISTRATOR,ROLE_USER,ROLE_EDITOR”/> […]

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 →
Spring Security ile Aynı Kullanıcının Oturum Sayısını Yönetmek

Spring Security kurumsal web uygulamaları için kapsamlı bir güvenlik framework’üdür. Kurumsal web uygulamalarında karşımıza çıkan pek çok kimliklendirme ve yetkilendirme ihtiyacına hazır bir çözümü içermektedir. Bu ihtiyaçlardan birisi de aynı kullanıcı ile aynı zamanda fakat farklı yerlerden yapılabilecek login sayısının denetlenmesidir. Spring Security bunun için sunduğu hazır yapıda iki farklı opsiyon sunar. Aynı kullanıcı ile […]

Read More →
Delegating Authentication to Web Services in Acegi

What I like most about Acegi Security Framework is its configurability and extendibility. I think those two features are very crucial for any framework to be successfull. Recently, I have come accross with a requirement of authenticating users via a web service, and giving more detailed authentication failure messages according to result codes returned from […]

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 →