2015-11-17 4 views
0

У меня есть jboss-web.xml, как показано ниже.Проблема с проверкой JSecurity

<jboss-web> 
    <security-domain>java:/jaas/test</security-domain> 
    <valve> 
     <class-name>com.test.WebFormAuthenticator</class-name> 
     <param> 
      <param-name>landingPage</param-name> 
      <param-value>/index.html</param-value> 
     </param> 
    </valve> 
    <context-root>mycontext</context-root> 
</jboss-web> 

У моего web.xml есть следующие строки.

<login-config> 
     <auth-method>FORM</auth-method> 
     <realm-name>test</realm-name> 
     <form-login-config> 
      <form-login-page>/login.html</form-login-page> 
      <form-error-page>/loginError.html</form-error-page> 
     </form-login-config> 
    </login-config> 
<security-constraint> 
     <web-resource-collection> 
      <web-resource-name>My Application</web-resource-name> 
      <url-pattern>/rest/*</url-pattern> 
      <url-pattern>/*</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <role-name>*</role-name> 
     </auth-constraint> 
     <user-data-constraint> 
      <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
     </user-data-constraint> 
    </security-constraint> 

    <security-constraint> 
     <web-resource-collection> 
      <web-resource-name>My Application</web-resource-name> 
      <url-pattern>/bower_components/*</url-pattern> 
      <url-pattern>/scripts/*</url-pattern> 
     </web-resource-collection> 
    </security-constraint> 

Когда Логин успешна вместо index.html URL-адрес изменяется на /src/assets/images/favicon.ico

HTML-код я использую, как

<form id="loginForm" method="POST" action="j_security_check"> 

Любая идея, почему это происходит?

+0

Будет < form > код вы используете? – MaVRoSCy

+0

Вы имеете в виду мой html-код? – robin

ответ

1

Вы защитили все ресурсы на своем сервере приложений. В этом случае это означает, что браузер запрашивает, например, «index.jsp» и перенаправляется на страницу входа. Затем браузер пытается запросить favicon (указали ли вы его на странице входа в форму?), Но поскольку он также защищен, он снова перенаправляется на страницу входа (проверьте с помощью инструментов отладки браузера).

Вам необходимо знать, что модуль регистрации формы сохраняет последний запрошенный ресурс, который защищен как перенаправляющая цель после входа в систему. В этом случае запрос favicon перезаписывает запрос на «index.jsp», и поэтому вы переадресовываетесь в favicon после входа в систему.

Вы должны исключить свои статические ресурсы из ограничения безопасности. Here is how to do it.

Образец по запросу:

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>app</web-resource-name> 
    <url-pattern>/src/assets/*</url-pattern> 
    </web-resource-collection> 
    <!-- OMIT auth-constraint --> 
</security-constraint> 
+0

Как я могу опустить его? вы можете показать, что я должен добавить, чтобы опустить его? – robin

+0

Добавлен пример. Но вы единственный, кто теперь может запросить то, какие ресурсы запрашиваются на странице входа/браузере, которая должна быть ограничена. – Dainesch

Смежные вопросы