Add user context implementation

In reference to this issue #30

This PR add the implementation for the user context, and a basic role provider for common scenario.