JAAS — isUserInRole возвращает false для всех ролей в Tomcat

Вот проблема,

Область JAAS прекрасно подключается к базе данных, имя пользователя и пароль совпадают, сеанс аутентифицируется. ОДНАКО, похоже, ни одна из ролей не попадает в Принципала. isInUserRole Tomcat возвращает false для каждой роли, и безопасность tomcat их тоже не видит.

Вот конфигурация области в Server.xml

<Realm  className="org.apache.catalina.realm.JAASRealm"
        appName="TomcatTimedLogin"
        userClassName="com.tagish.auth.TypedPrincipal"
        roleClassNames="org.ovasp.java.jaas.RolePrincipal" />

Вот логин.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";
};

А в catalina.properties я ссылаюсь на такую ​​конфигурацию

java.security.auth.login.config=file:///C:/config/login.config

При запуске приложения я получаю следующее сообщение в выводе отладки, не знаю почему, так как все классы должны быть доступны серверу

SEVERE: Class org.ovasp.java.jaas.RolePrincipal not found! Class not added.

Любая помощь будет оценена по достоинству. Я уже читал пост за постом и учебник за учебником, и у тех, у кого есть эта проблема, нет опубликованного решения.

Кстати, я использую Tomcat 5.5, не мой выбор, устаревший код, вы знаете, как это бывает! Я также использую модуль входа OWASP (OWASPJaasLoginModule.jar). Этот файл jar находится в каталоге server/lib.


person Zoidberg    schedule 03.11.2009    source источник


Ответы (1)


Хорошо... Я решил это сам... опять же, ОЧЕНЬ ГЛУПЫЙ! Если бы это был мой код, я бы злился на себя, но это не так, и после 4 дней возни с этим приложением я почти сыт по горло. Проблема была в том, что КЛАСС не

org.ovasp.java.jaas.RolePrincipal

это

org.owasp.java.jaas.RolePrincipal

ТУПОЙ!!!

person Zoidberg    schedule 03.11.2009