Войти страницаВозможно ли иметь аутентификацию на основе URL-адресов с помощью проверки подлинности на основе форм?
<form method='post' action='j_security_check'>
\t <input type='text' name='j_username'>
\t <input type='password' name='j_password'>
</form>
содержание от web.xml
<web-app>
\t <security-constraint>
\t \t <web-resource-collection>
\t \t \t <web-resource-name>User Auth</web-resource-name>
\t \t \t <url-pattern>/auth/*</url-pattern>
\t \t </web-resource-collection>
\t \t <auth-constraint>
\t \t \t <role-name>admin</role-name>
\t \t \t <role-name>manager</role-name>
\t \t </auth-constraint>
\t </security-constraint>
\t <login-config>
\t \t <auth-method>FORM</auth-method>
\t \t <form-login-config>
\t \t \t <form-login-page>login.jsp</form-login-page>
\t \t \t <form-error-page>error.jsp</form-error-page>
\t \t </form-login-config>
\t </login-config>
</web-app>
Форма работает отлично. Но если я обращаюсь к index.jsp напрямую с http://localhost:8080/index.jsp/j_security_check?j_username=admin&j_password=admin не работает.
Почему он не работает?
'method = 'post'', но браузер отправляет запрос GET (хорошо из того, что я знаю). Если вы действительно этого хотите, вам нужно также управлять запросом GET. (но действительно ли это необходимо? Используйте страницу переадресации, если вам это действительно нужно) – AxelH
Как вы используете метод = 'post' в своей форме, запрос обрабатывается как сообщение - однако, когда вы просто проходите параметры запроса напрямую, как вы указали, - запрос будет обрабатываться как get (который есть! = сообщение) и, следовательно, не будет работать – vegaasen