Caros colegas, Boa noite!
Estou desenvolvendo uma aplicação web utilizando JSF, Hibernate, Spring 3 e Tomcat 7 e de uma hora para outra foi decidido que a aplicação terá que operar em um ambiente SAAS.
Dessa forma, estou com algumas dúvidas conceituais sobre a maneira de implementar essa solução.
Banco de dados:
Para cada cliente será criado uma database, tendo em vista a segurança dos dados de cada cliente.
Isso será feito acessando dinamicamente os bancos de dados, encontrei um material bastante interessante no link http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/
Autenticação:
Estou com uma grande dúvida sobre a forma que os usuários irão autenticar no sistema sendo que nesse ambiente terei várias bases de dados com diversos usuários cadastrados em cada base.
De que forma fazer isso, pois a database que o usuário vai acessar só saberei depois que o mesmo estiver autenticado.
Criar uma outra database para tratar da autenticação dos usuários, com base nos cadastros que tem nas demais databases?
Nesse link http://www.ibm.com/developerworks/br/library/ar-saassec/ tem um bom material explicando a forma conceitual disso.
Gostaria da ajuda de vocês para esclarecer essas dúvidas.
Grato