Вопрос

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

Область 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" />

Вот файл 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";
};

И в 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.

Это было полезно?

Решение

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

org.ovasp.java.jaas.RolePrincipal

его

org.owasp.java.jaas.RolePrincipal

ГЛУПЫЙ!!!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top