j_security_check всегда перенаправляет на страницу с ошибкой формы - PullRequest
0 голосов
/ 05 мая 2020

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

Web. xml:

<web-app version="3.0">
    <servlet>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>com.test.servlet.LoginServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

    <security-constraint>
        <web-resource-collection>
            <url-pattern>/*</url-pattern>
            <http-method>POST</http-method>
            <http-method>GET</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>ADMINUSER</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/login</form-login-page>
            <form-error-page>/login?login_error=true</form-error-page>
        </form-login-config>
    </login-config>

    <security-role>
        <description>Application User Role</description>
        <role-name>ADMINUSER</role-name>
    </security-role>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

jboss-web. xml

<jboss-web>
    <security-domain>java:/jaas/application-auth</security-domain>
</jboss-web>

автономный. xml

<security-domain name="application-auth" cache-type="default">
    <authentication>
        <login-module code="com.test.auth.jboss.ApplicationLoginModule" flag="required"/>
    </authentication>
</security-domain>

логин. jsp

<form name="login_form" action="j_security_check" method='POST'>
    <table>
        <tr>
            <td>User Name:</td>
            <td><input type='text' name='j_username' value=''></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type='password' name='j_password' /></td>
        </tr>
        <tr>
            <td><input name="submit" type="submit" value="submit" /></td>
        </tr>
    </table>
</form>

Когда я выполняю операция входа в систему с действующим именем пользователя и паролем, всегда выполняется логин form-error-page. После помещения операторов журнала в ApplicationLoginModule обнаружил, что элемент управления не похож на go на login-module. Я думаю, что допустил какую-то ошибку или упустил некоторые моменты, но не знаю, что именно.

Любые данные, пожалуйста?

...