Application Security, Grails

How to Perform event on successful login via Spring Security in Grails

Some applications require to store and show last login of the user which is quite common. With this feature a user can verify the last login date and time upon successful login. I would like to explain this through a use case - One of the administrative application on Grails required to hold last login date and time of the user, so...


Grails, Javascript/Ajax/JQuery

Restrict Ajax request caching in SpringSecurity

Spring Security has a nice feature of request caching. When user try to access secured resource without logging in into the system, spring security caches that request and redirect the user to the login page. After successful authentication it redirects user to that cached request. This works for both Ajax and non-ajax requests. To...


Grails, Spring Events

When details in principal object of spring security are not sufficient

Sometimes we need to access details of current logged in user but that will be an additional database query. To save that query we can use principal object of Spring security which provides details of logged in user . But by default principal object have few fields like id, username and password. If we need to access user's name /...


Spring Events, Technology

Integrate SwaggerUI with spring boot application

Hi Guys, In this artical we learn how to integrate SwaggerUI with spring boot application. Basically 'SwaggerUI' is used to serves documentation of an REST API and another most powerfull feature is, it provides a way to enable developer to play around the REST API without having write any code. Steps to Integrate SwaggerUI :- ...


Grails, Java

Spring Events With Grails

Hi, There arise several situations where you need to implement a certain flow comprising of various tasks. These tasks may be executed independent of each other and it gives us an opportunity to separate out the different parts of a flow into separate threads that can be executed "asynchronously". I had a very similar use case...