2012-05-23 43 views
14

Gibt es einen Standard-Speicherort für "j_security_check", damit ich einen Blick darauf werfen kann?Wo finde ich "j_security_check"?

Eine Suche meines Computers findet die Datei nicht, nur Verweise darauf. Also ist es entweder aus Sicherheitsgründen versteckt oder ist es keine Datei?

Ich wurde aus einer Anwendung ausgesperrt und dies ist der erste Ort, an dem ich nach Lösungen suche.

+0

Überprüfen Sie die Tags META-INF/context.xml, Ibrahim

Antwort

15

Es ist ein Teil des Servlet API und in die servletcontainer gebaut. In Ihrem Fall ist es in Tomcat integriert. Genauer gesagt, die org.apache.catalina.authenticator.FormAuthenticator Klasse.

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  } 

Die Constants.FORM_ACTION ist /j_security_check.

In Bezug auf Ihr konkretes Problem der Aussperrung, stellen Sie sicher, dass Sie den richtigen Benutzernamen und das richtige Passwort angeben. Die Benutzerdatenbank wird normalerweise von einem realm konfiguriert.

-1

Sie müssen nichts mit j_security_check tun. Das Problem ist, an anderer Stelle:

Zum Beispiel:

Anschluss an die DB (oder in Ihrem Fall der Datei tomcat-users.xml, wenn Sie Tomcat verwenden), Verschlüsselung des Passworts, etwas im Web. XML, etwas in der context.xml. Bei Glassfish könnte es sich auch um den Pool und Realm oder etwas in der glassfish-web.xml handeln.

Überprüfen Sie die Protokolle sorgfältig. Für GF müssen Sie Finest wie folgt aktivieren: (a) Gehen Sie zu dieser Seite: http://localhost:4848/common/monitor/serverInstMonitoringServerPage.jsf. (b) Setzen Sie diese Eigenschaft auf Finest: javax.enterprise.system.core.security