Galera, estou tendo problemas com o meu security do tomcat.
Quando eu coloco ele pra ler ditreto do arquivo tomcat users, ele funciona numa boa… mas quando eu tento fazer ele se conectar pelo banco, ele simplesmente não autentica… parecendo que ainda está tentando puxar algo do tomcat users…
O meu tomcat é o ultimo que tem, o 6. alguma coisa, baixei do site deles… e eu não tenho a pasta common dentro do catalina_home… eu tenho já direto na raiz a pasta lib, que contem os jars da aplicação tomcat, fui lá e adicionei o jar do mysql no qual estou mexendo… configurei também o server.xml pra receber dados do banco, porém ainda não se conecta pegando os usuários… fica aparecendo usuário e senhas inválidos…
Deem uma olhada…
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>
Exemplo de autenticação e controle de acesso padrão J2EE
</description>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<jsp-property-group>
<url-pattern>/*</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>Paginas do Usuario</web-resource-name>
<url-pattern>/usuarios/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>usuario</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Paginas do Administrador</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>usuario</role-name>
</security-role>
<security-role>
<role-name>admin</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/loginInvalido.jsp</form-error-page>
</form-login-config>
</login-config>
<error-page>
<error-code>403</error-code>
<location>/erro403.jsp</location>
</error-page>
</web-app>
index.jsp
<html>
<body>
<h1>Segurança J2EE (Form)<hr></h1>
<p>
<a href="usuarios/">Páginas dos usuários</a>
<p>
<a href="admin/">Páginas dos administradores</a>
<p>
<a href="logoff.jsp">Logoff</a>
</body>
</html>
login.jsp
<html>
<body>
<%
request.getSession().setAttribute("pagina", request.getRequestURL());
%>
<h1>Demo de Segurança J2EE (Form)<hr></h1>
<p>
Esta página só pode ser acessada por usuários autenticados
<form method="post" action="j_security_check">
<table>
<tr><td>Login:</td>
<td><input size="15" name="j_username">
</tr>
<tr><td>Senha:</td>
<td><input type="password" size="15" name="j_password">
</tr>
<tr><td colpsan="2"><input type="submit" value=" Ok ">
</tr>
</table>
</form>
</body>
</html>
server.xml
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/thiago"
connectionName="root" connectionPassword="root"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
mysql
mysql> select * from user_roles;
+-----------+-----------+
| user_name | role_name |
+-----------+-----------+
| admin | admin |
| eperthi | usuario |
+-----------+-----------+
2 rows in set (0.00 sec)
mysql> select * from users;
+-----------+-----------+
| user_name | user_pass |
+-----------+-----------+
| admin | admin |
| eperthi | 250586 |
+-----------+-----------+
2 rows in set (0.00 sec)
mysql> select * from role;
+---------+
| role |
+---------+
| admin |
| usuario |
+---------+
2 rows in set (0.00 sec)