A simple user management library. Contains a simple user model and a couple of DAOs, profile and password management components. Current dao implementations are hibernate-based. Should happily replace osuser.

Berkano-user was started long ago, then re-used once I got disapointed with osuser. Still has a couple of old classes or ideas here and there, needs clean up and polishing.

User management

Berkano-user defines a couple of interface for users, groups, permissions, membership management. Much like os-user does, but maybe with a more "modern" architecture.
All these are based on the principles of IOC, using CDI (constructor dependency injection). I'm personnaly using picocontainer, but I believe Spring or any other ioc container should be usable as well.
You will need to declare the implementations you want to use to your container.

User Preferences

Berkano-user defines simple interfaces to define the preferences that an application wants to expose to the end-user, ie what properties s/he can freely modify to suit his needs.Read more.

Passwords

Berkano-user also defines interfaces and a couple of implementations for

password generation strategies (can generate a random password for new users for example)

password encoding strategies

password retrieval strategies (mail current password, mail newly generated password, ...)
All these are also based on the principles of IOC/CDI.

Datamodel

The current db schema can be created as follows:

create a database called berkano (use another name if you want, you'll have to update your jndi configuration accordingly)

create a user for berkano and give it the right permissions.
On mysql, this can be done with the following script:

create database berkano;
grant all privileges on berkano.* to 'berkano'@'localhost' identified by 'some-password';