JAAS - isUserInRole devuelve false para todos los papeles en Tomcat
-
13-09-2019 - |
Pregunta
Aquí está el problema,
La JAAS reino se conecta a la base de datos de multa, el nombre de usuario y la contraseña coinciden, la sesión está autenticado.Sin EMBARGO, ninguno de los papeles parecen estar recibiendo en el Principal.Tomcat isInUserRole devuelve false para cada papel, y tomcat de seguridad no los ve.
Aquí es el reino de configuración en el Server.xml
<Realm className="org.apache.catalina.realm.JAASRealm"
appName="TomcatTimedLogin"
userClassName="com.tagish.auth.TypedPrincipal"
roleClassNames="org.ovasp.java.jaas.RolePrincipal" />
Aquí está el inicio de sesión.config
TomcatTimedLogin
{
org.owasp.java.jaas.TomcatTimedLogin required
useDS=true
dsJNDI="jdbc/resourceName"
dbDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
dbURL="jdbc:sqlserver://server\\DBSERVER;databaseName=DBName"
dbUser="username"
dbPassword="password"
debug=true
loginTable="loginTable"
clippingLevel="3"
interval="10"
loginQuery="SELECT UserID,Password FROM Users WHERE LogonUserName=? AND RetirementDate is null"
rolesQuery="SELECT Role.RoleDescription FROM User_Role,Role WHERE User_Role.UserID=? AND User_Role.RoleID=Role.RoleID";
};
Y en catalina.propiedades me refiero a la configuración como esta
java.security.auth.login.config=file:///C:/config/login.config
Al iniciar la aplicación me hace llegar el siguiente mensaje en la salida de Depuración, no sé por qué como todas las clases debe ser accesible por el servidor
SEVERE: Class org.ovasp.java.jaas.RolePrincipal not found! Class not added.
Cualquier ayuda se agradece.Ya he leído el post después del post y tutorial tras tutorial, y los que tienen este problema, no tiene solución publicado.
Por cierto, estoy usando Tomcat 5.5, no es mi elección, código de la herencia, ya sabes cómo es!Yo también uso el OWASP módulo de inicio de sesión (OWASPJaasLoginModule.jar).Este archivo jar se encuentra en el servidor del directorio/lib.
Solución
De acuerdo ... lo resolví yo mismo ... otra vez, muy estúpidos! Si esto era mi código estaría enojado conmigo mismo, pero no lo es, y después de 4 días de joder con esta aplicación, estoy cerca de harto. El problema era que la clase no es
org.ovasp.java.jaas.RolePrincipal
su
org.owasp.java.jaas.RolePrincipal
ESTÚPIDO !!!