I'm currtenly working on the backend logic of a java project.

Frontend (GWT) will follow soon and business logic might be deployed in a J2EE container (maybe Spring) to handle some life-cycle issues. However, I'm not sure if I will go for a container. 

I thought about putting some thinking into user/role management and authentification before I proceed. However, I'm having a hard time to find the right way, identifiy right libraries and best practices. 

The issue is that this will be more or less an enteprise app that might use existing user directories to authenticate (e.g. LDAP) or might be used also on the web for "public" access where users can sign up. 

I'm also looking for a lightweight solution which is min. invasive (I guess Spring would be helpful here?!).

I'm thankfull for any input and experiences