Сбой аутентификации JAAS с Tomcat 7 без сообщения об ошибке

1

Что касается сообщения другого пользователя (проблема с аутентификацией JAAS на Tomcat 7), я пытаюсь использовать JASS для аутентификации в приложении JSF.

К сожалению, я всегда направляюсь на страницу loginFailed.xhtml, если попытаюсь войти в систему.

Я использую Tomcat7, JSF 2.2 и базу данных Derby для хранения пользователей/паролей.

Вот выдержка из моего server.xml:

            <Host appBase="webapps" autoDeploy="true" name="localhost"
            unpackWARs="true">

            <!-- SingleSignOn valve, share authentication between web applications 
                Documentation at: /docs/config/valve.html -->
            <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" 
                /> -->

            <!-- Access log processes all example. Documentation at: /docs/config/valve.html 
                Note: The pattern used is equivalent to using pattern="common" -->
            <Valve className="org.apache.catalina.valves.AccessLogValve"
                directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log."
                suffix=".txt" />

            <Context docBase="socialanalysis" path="/socialanalysis"
                reloadable="true" source="org.eclipse.jst.jee.server:socialanalysis">
                <Realm className="org.apache.catalina.realm.JDBCRealm"
                    driverName="org.apache.derby.jdbc.ClientDriver" connectionURL="jdbc:derby://localhost:1527/socialanalysis"
                    connectionName="socialanalysis" connectionPassword="socialanalysis"
                    userTable="users" userNameCol="username" userCredCol="password"
                    userRoleTable="users_roles" roleNameCol="rolename"/>
            </Context>

        </Host>

Excepert из моего web.xml:

    <security-constraint>
    <web-resource-collection>
        <web-resource-name>secured</web-resource-name>
        <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>
<security-role>
    <role-name>user</role-name>
</security-role>
<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.jsp</form-login-page>
        <form-error-page>/loginFailed.xhtml</form-error-page>
    </form-login-config>
</login-config>

Я последовал этому руководству для создания базы данных: http://www.thejavageek.com/2013/07/07/configure-jdbcrealm-jaas-for-mysql-and-tomcat-7-with-form-based-authentication/

Большое вам спасибо за вашу помощь!

  • 0
    Как выглядят ваши таблицы БД и их содержимое?
  • 0
    Каков URL вашего сервлета Faces? если вы используете / *, это может помешать доступу к j_security_check.
Показать ещё 2 комментария
Теги:
tomcat
jsf
jaas

1 ответ

0

Я не совсем уверен, почему он работает сейчас, но я думаю, что он работал после добавления атрибутов http-метода в мою конфигурацию безопасности web.xml:

        <web-resource-collection>
        <web-resource-name>secured</web-resource-name>
        <url-pattern>/admin/*</url-pattern>
        <http-method>POST</http-method>
        <http-method>GET</http-method>
    </web-resource-collection> 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню