Проблема при входе в Tomcat - PullRequest
       1

Проблема при входе в Tomcat

0 голосов
/ 22 сентября 2010

У меня есть приложение Java / Tomcat, которое создает cookie для пользователя, когда он посещает домашнюю страницу.Этот файл cookie используется для распознавания этого пользователя при последующих посещениях и создания последних списков.Они работают хорошо и пока без какой-либо аутентификации пользователя, использующего сам Tomcat.Это подводит меня к моей проблеме:

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

Но когда я пытаюсь войти в Tomcat, мне выдается сообщение «Неверная прямая ссылка на страницу входа в форму», но я не совсем понимаю, почему.На своих страницах я использую код входа, предоставленный Tomcat, то есть:

<div id = "login">
        <form method = "POST" action='<%= response.encodeURL("j_security_check") %>' >
            <table border="0">
                <tr>
                    <th align = "right">Username</th>
                    <td align = "left"><input type="text" name="j_username"></td>
                </tr>
                <tr>
                    <th align = "right">Password</th>
                    <td align = "left"><input type="password" name="j_password"></td>
                </tr>
                <tr>
                    <td align = "right"><input type="submit" value="Log In"></td>
                    <td align = "left"><input type="reset"></td>
                </tr>
          </table>
        </form>
    </div>

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

Кто-нибудь может посоветовать?Нужно ли использовать царства в Tomcat или что-то еще?

Я использую Tomcat 6.X.

Спасибо

Мистер Морган.

1 Ответ

0 голосов
/ 22 сентября 2010

Когда вы устанавливаете <security-constraint> в своем файле web.xml, контейнер автоматически перенаправляет вас на страницу входа, если вы пытаетесь достичь "безопасной" страницы, на которой вы не авторизованы. На странице входа вы должны ввести свой логин и пароль продолжить запрос. После успешного входа вы будете перенаправлены на безопасную страницу.

Но когда вы пытаетесь войти со страницы входа в систему, вы получите сообщение об ошибке «Недействительная прямая ссылка на страницу входа в форму». Так как контейнер не URL-адрес, куда он должен перенаправить вас после успешного входа в систему.

Возможно, в вашем случае проще написать свой собственный ServletFilter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...