The following components are required to use Berkano's User UI
This is valid if you used scoped containers (ie Picocontainer+Nanowar, for instace)
Request scope
// persistence
net.incongru.berkano.user.hibernate.HibernatedUserDAO
net.incongru.berkano.user.hibernate.HibernatedGroupDAO
net.incongru.berkano.security.hibernate.HibernatedRoleDAO
org.nanocontainer.persistence.hibernate.FailoverSessionDelegator
org.nanocontainer.persistence.hibernate.SessionLifecycle
// authentication/authorization with Seraph
com.atlassian.seraph.auth.AuthenticationContextImpl
net.incongru.berkano.security.seraph.filter.BerkanoSecurityFilter
net.incongru.berkano.security.seraph.filter.BerkanoLoginFilter
net.incongru.berkano.security.seraph.BerkanoSecurityConfig
net.incongru.berkano.security.seraph.BerkanoUserAuthenticator
net.incongru.berkano.security.seraph.UserGroupRoleMapper
net.incongru.berkano.security.seraph.UserRoleCache
// passwords
net.incongru.berkano.security.password.retrieval.MailNewPasswordRetrievalStrategy
// helpers
net.incongru.berkano.user.hibernate.HibernatedUserPropertyAccessor
net.incongru.berkano.user.extensions.BerkanoSeraphUserPropertyHelper
Application scope
// nanocontainer-persistence
org.nanocontainer.persistence.hibernate.ConstructableConfiguration
org.nanocontainer.persistence.hibernate.SessionFactoryDelegator
org.nanocontainer.persistence.hibernate.SessionFactoryLifecycle
// passwords
net.incongru.berkano.security.password.matching.MD5MessageDigestPasswordMatchingStrategy
net.incongru.berkano.security.password.generator.BasicPasswordGenerator
// preferences
net.incongru.berkano.app.ApplicationsProvider
... at least one AppDescriptor implementation...
// mails
net.incongru.util.mail.FreemarkerMailer
net.incongru.util.webwork.WebworkMailLocalizer
