Realm tomcat

Estou analisando o mecanismo de proteção dos recursos de uma aplicação WEB verificando as caracteristica do REALM no TomCat.
Ao analisar o MemoryRealms fica claro que definimos users e roles declarativamente no arquivo
<tomcat_home>/conf/tomcat-users.xml e web.xml.
exemplo.:

&lt;tomcat-users&gt; &lt;user name="bob" password="password" roles="appweb" /&gt; &lt;/tomcat-users&gt;

Qual a real utilização do MemoryRealm no TomCat?
Ao usar este procedimento eu não deixo os dados em name e password exposto no arquivo tomcat-users.xml?

Numa utilização dinamica no formato de autenticação, o ideal é utilizar DataSourceRealm, JAASRealm ou JDBCRealm
quando trabalho com banco de dados?

Grato.

O “memory realm” é basicamente uma maneira de você poder testar a sua aplicação sem precisar de fazer configuração de bancos de dados, LDAP ou outros métodos mais cabeludos de autenticação de usuários.
Uma vez que você tenha testado a sua aplicação, remova os usuários do “memory realm”, já que as senhas ficam em claro; mesmo quando elas não ficam em claro, como é o caso da opção “digest” que você pode acrescentar ao memory realm - onde apenas o MD5 ou SHA-1 das senhas é guardado nesse arquivo tomcat-users.xml - ainda você está sujeito a alguém que mexa nesse arquivo e acrescente usuários à vontade. Como não é difícil calcular o MD5 ou SHA-1 de uma senha qualquer, isso é mais para “constar” do que para proteger.