Я пытаюсь реализовать проверку подлинности на основе форм в JBoss 7.2.
web.xml:
<web-app>
<security-constraint>
<web-resource-collection>
<web-resource-name>Everything needs authentication</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>MySuperRole</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>MySuperRole</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/loginError.html</form-error-page>
</form-login-config>
</login-config>
</web-app>
JBoss-web.xml
<jboss-web>
<context-root>myctx</context-root>
<security-domain>my-policy</security-domain>
</jboss-web>
Моя политика правильно настроена в файле standalone.xml
Проблема после входа в систему, я перенаправлен на файл css, который я использую на своих html-страницах.
Если я не закрою браузер после входа в систему, и я снова попытаюсь вернуться к правильной странице, теперь он работает, так как я аутентифицирован 1 секунду назад, но изначально я всегда перехожу в файл css. Любые мысли о том, почему это происходит?
Поэтому, видимо, файл.css, к которому я был перенаправлен, находился внутри моего /login.html. Как только я избавился от каких-либо css, ссылок на javascript внутри html. Он начал работать. Думаю, мне придется встроить css в html файл. Я не знаю другого решения.
EDIT: (для @Aragorn)
Да, я использую ссылку в стиле листа, и это работает. Но для этого вам нужно установить ограничение аутентификации (см. Выше) в файле web.xml. Поскольку JBoss/WebSphere должен иметь UNAUTHENTICATED доступ к файлу таблицы стилей, если это не так, то есть если для доступа к вашему файлу таблицы стилей требуется аутентификация, JBoss будет помнить, и когда вы входите в систему с использованием пользователя и пароля, перенаправит вас на первую ссылку в Личном листе /JS-ссылку в вашем.html файле, проверьте, всегда ли это первый файл, для которого требуется перенаправлять аутентификацию, если ссылки на листы ссылок /js-ссылки не требуют аутентификации, тогда вы будете перенаправлены к правильному html!
Также для путей ссылок считайте "базовым" html файл, который вы пытаетесь извлечь, а не login.html! (В моем случае они находятся в разных каталогах, чтобы заставить ограничения аутентификации работать)