2012-05-23 5 views
14

Czy istnieje standardowa lokalizacja dla "j_security_check", dzięki czemu mogę na nią spojrzeć?Gdzie mogę znaleźć "j_security_check"?

Wyszukiwanie mojego komputera nie znajduje pliku, tylko odniesienia do niego. Czy to ukryte z powodów bezpieczeństwa, czy nie jest to plik?

Zostałem zablokowany z aplikacji i to jest pierwsze miejsce, w którym przyjrzałem się rozwiązaniom.

+0

sprawdź META-INF/context.xml, tag – Ibrahim

Odpowiedz

15

To część Servlet API i wbudowany w servletcontainer. W twoim przypadku jest wbudowany w Tomcat. Dokładniej, klasa org.apache.catalina.authenticator.FormAuthenticator.

227  // Is this the action request from the login page? 
228  boolean loginAction = 
229   requestURI.startsWith(contextPath) && 
230   requestURI.endsWith(Constants.FORM_ACTION); 
231 
232  // No -- Save this request and redirect to the form login page 
233  if (!loginAction) { 
234   session = request.getSessionInternal(true); 
235   if (log.isDebugEnabled()) 
236    log.debug("Save request in session '" + session.getIdInternal() + "'"); 
237   try { 
238    saveRequest(request, session); 
239   } catch (IOException ioe) { 
240    log.debug("Request body too big to save during authentication"); 
241    response.sendError(HttpServletResponse.SC_FORBIDDEN, 
242      sm.getString("authenticator.requestBodyTooBig")); 
243    return (false); 
244   } 
245   forwardToLoginPage(request, response, config); 
246   return (false); 
247  } 
248 
249  // Yes -- Validate the specified credentials and redirect 
250  // to the error page if they are not correct 
251  Realm realm = context.getRealm(); 
252  if (characterEncoding != null) { 
253   request.setCharacterEncoding(characterEncoding); 
254  } 
255  String username = request.getParameter(Constants.FORM_USERNAME); 
256  String password = request.getParameter(Constants.FORM_PASSWORD); 
257  if (log.isDebugEnabled()) 
258   log.debug("Authenticating username '" + username + "'"); 
259  principal = realm.authenticate(username, password); 
260  if (principal == null) { 
261   forwardToErrorPage(request, response, config); 
262   return (false); 
263  } 

Constants.FORM_ACTION jest /j_security_check.

Jeśli chodzi o konkretny problem z zablokowaniem, upewnij się, że podałeś prawidłową nazwę użytkownika i hasło. Baza danych użytkowników jest zwykle konfigurowana przez realm.

-1

Nie musisz nic robić z j_security_check. Problem leży gdzie indziej:

Na przykład:

Połączenie do DB (lub w przypadku, gdy plik tomcat-users.xml jeśli używasz Tomcat), szyfrowanie hasła, coś w internecie. xml, coś w pliku context.xml. W przypadku Glassfish może to być także pula i dziedzina lub coś w pliku glassfish-web.xml.

Sprawdź uważnie dzienniki. W przypadku GF należy włączyć opcję Finest: (a) Przejdź na tę stronę: http://localhost:4848/common/monitor/serverInstMonitoringServerPage.jsf. (b) Ustaw tę właściwość na Finest: javax.enterprise.system.core.security