Para utilizar um bancos de dados como backend dos mecanismos de autenticacao e autorizacao do jGuard deve-se utilizar o JdbcAuthenticationManager e o JdbcAuthorizationManager respectivamente. Nao e necessario utilizar os dois em conjunto ja que a autenticacao e autorizacao, no modelo de seguranca do JAAS, sao coisas 'separadas'. Nao e necessario tambem utilizar o modelo de dados do jGuard. Nas empresas de desenvolvimento e comum existirem padroes de nomeclatura. Para o jGuard isso nao e problema. Para personalizar os DDLs e DMLs utilizados pelo jGuard basta criar um arquivo properties com as propriedades adequadas e definir as propriedades authenticationDatabaseFileLocation e authorizationDatabaseFileLocation no arquivo e configuracao do jGuard. Para saber como configurar o JdbcAuthenticationManager e o JdbcAuthorizationManager consulte os capitulos 3 e 5 da referencia do jGuard respectivamente.E importante observar que para que o jGuard possa manipular os DDLs e DMLs definidos no arquivo properties personalizado e preciso, alem de definir as propriedades corretas, utilizar os alias equivalentes ao modelo original do jGuard.ExemploNeste exemplo, vamos supor que o modelo de dados utiliza uma tabela Usuario com a seguinte estrutura:Usuario (id, nome, login, senha)No modelo original do jGuard existem as tabelas jg_user e jg_credential. A primeiro contem apenas o id do usuario e a segunda contem as credenciais publicas e privadas dos usuarios cadastrados e a chave estrangeira user_id que estabelece a ligacao com a tabela jg_user. No modelo do exemplo as duas tabelas foram agrupadas em uma unica tabela e o nome das colunas esta diferente. A tabela Usuario possui duas credenciais publicas (nome e login) e uma privada (senha). Agora e necessario personalizar o arquivo com as queries de banco. Vamos utilizar como exemplo o arquivo authentication.mysql.properties. Gracas a nossa alteracao na estrutura das tabelas sera necessario alterar todas as queries que envolvam, de alguma forma, as entidades User e Credentials. Para fins de simplificacao mudaremos apenas algumas queries.#recupera as credenciais privadas de um usuarioPRIVATE_CREDENTIALS=select 'senha' as cred_name, usuario.senha as cred_value from usuario where usuario.id= ? #recupera as credenciais publicas de um usuarioPUBLIC_CREDENTIALS=select * from((select 'nome' as cred_name, u1.nome as cred_value from usuario u1)union (select 'login' as cred_name, u2.login as cred_value from usuario u2 )) as uwhere u.id = ?O exemplo acima altera as queries que o jGuard usa para recuperar as credenciais publicas e privadas de um usuario. Note que e importante manter o nome das colunas iguais as do modelo original do jGuard, ainda que suas colunas tenham nomes diferente, e o mesmo numero de parametros das queries. Voce pode utilizar tambem stored procedures e function. Renato Costa criou o blog Do Windows Ao Linux para contar suas experiencias como usuario de longa data no Windows se aventurando no mundo do Linux. A proposta e guiar os novos usuarios a evitar as armadilhas e superar obstaculos.Apos uma visita ao blog voce vera que os novos usuarios do Linux terao gratas surpresas e descobrirao que muitas coisas sao bem mais simples do que podemos imaginar. Se voce edita suas postagens em HTML como eu, ja se deparou com esse problema. O blogger adiciona linhas em branco (</br>) para cada linha em branco/quebra