JAAS - isUserInRole retorna false para todos os papéis em Tomcat
-
13-09-2019 - |
Pergunta
Aqui está o problema,
O JAAS realm conecta à multa de banco de dados, o nome do usuário e senha jogo, a sessão é autenticado. No entanto, nenhum dos papéis parecem estar ficando para o Principal. isInUserRole do Tomcat retorna false para cada papel, e tomcat segurança não vê-los também.
Aqui está a configuração reino no server.xml
<Realm className="org.apache.catalina.realm.JAASRealm"
appName="TomcatTimedLogin"
userClassName="com.tagish.auth.TypedPrincipal"
roleClassNames="org.ovasp.java.jaas.RolePrincipal" />
Aqui está a login.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";
};
E em catalina.properties Refiro-me à configuração como esta ??p>
java.security.auth.login.config=file:///C:/config/login.config
Ao iniciar o aplicativo eu recebo a seguinte mensagem na saída de depuração, não tenho certeza por que como todas as classes devem ser acessíveis pelo servidor
SEVERE: Class org.ovasp.java.jaas.RolePrincipal not found! Class not added.
Qualquer ajuda seria apreciada. Já li cargo depois de post e tutorial após tutorial, e aqueles que têm esse problema, não tem solução postada.
Btw, eu estou usando Tomcat 5.5, não a minha escolha, código legado, você sabe como é! Também utilizando o módulo de login OWASP (OWASPJaasLoginModule.jar). Este arquivo jar está localizado no diretório do servidor / lib.
Solução
Tudo bem ... Eu resolvi me ... novamente, muito ESTÚPIDO! Se este foi o meu código que eu iria ficar com raiva de mim mesmo, mas não é, e após 4 dias de trepando com este aplicativo, eu estou perto de farto. O problema era que a classe não é
org.ovasp.java.jaas.RolePrincipal
sua
org.owasp.java.jaas.RolePrincipal
ESTÚPIDO !!!