JAAS - isUserInRole gibt für alle Rollen in Tomcat falsch
-
13-09-2019 - |
Frage
Hier ist das Problem,
Die JAAS Reich in die Datenbank fein verbindet, den Benutzernamen und das Kennwort übereinstimmen, wird die Sitzung authentifiziert. Doch keiner der Rollen scheint immer in das Haupt werden. Tomcat isInUserRole gibt für jede Rolle falsch und tomcat Sicherheit hat sie auch nicht sehen.
Hier ist der Bereich Konfiguration im Server.xml
<Realm className="org.apache.catalina.realm.JAASRealm"
appName="TomcatTimedLogin"
userClassName="com.tagish.auth.TypedPrincipal"
roleClassNames="org.ovasp.java.jaas.RolePrincipal" />
Hier ist die 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";
};
Und in catalina.properties I beziehen sich auf die Konfiguration wie folgt aus
java.security.auth.login.config=file:///C:/config/login.config
Wenn die Anwendung starten ich die folgende Meldung in der Debug-Ausgabe erhalten, nicht sicher, warum, da alle Klassen sollen vom Server zugänglich sein
SEVERE: Class org.ovasp.java.jaas.RolePrincipal not found! Class not added.
Jede Hilfe wäre sehr geschätzt. Ich habe bereits Post nach Post und Tutorial nach Anleitung zu lesen, und diejenigen, die dieses Problem zu tun haben, haben keine Lösung geschrieben.
Btw, ich bin mit Tomcat 5.5, nicht meine Wahl, Legacy-Code, Sie wissen, wie es ist! Ich auch mit dem OWASP Login-Modul (OWASPJaasLoginModule.jar). Diese JAR-Datei wird auf dem Server / lib-Verzeichnis.
Lösung
Okay ... Ich löste es mich ... wieder sehr dumm! Wenn dies mein Code ist, würde ich mich selbst verrückt sein, aber es ist nicht, und nach 4 Tagen Schrauben um mit dieser App, ich bin in der Nähe zu satt. Das Problem war, dass die Klasse nicht
org.ovasp.java.jaas.RolePrincipal
sein
org.owasp.java.jaas.RolePrincipal
DUMM !!!