2012-05-23 29 views
14

¿Hay una ubicación estándar para "j_security_check" para que pueda echarle un vistazo?¿Dónde puedo encontrar "j_security_check"?

Una búsqueda en mi computadora no encuentra el archivo, solo hace referencia a él. Entonces, ¿está oculto por razones de seguridad o no es un archivo?

He sido bloqueado de una Aplicación y este es el primer lugar que estoy buscando para encontrar soluciones.

+0

check META-INF/context.xml, tag – Ibrahim

Respuesta

15

Es parte de la Servlet API y construido en el servletcontainer. En tu caso, está integrado en Tomcat. Más específicamente, la clase 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  } 

El Constants.FORM_ACTION es /j_security_check.

En cuanto a su problema concreto de estar bloqueado, solo asegúrese de proporcionar el nombre de usuario y la contraseña adecuados. La base de datos de usuario normalmente está configurada por realm.

-1

No necesita hacer nada con j_security_check. El problema está en otra parte:

Por ejemplo:

La conexión a la base de datos (o en su caso, el archivo tomcat-users.xml si está utilizando Tomcat), el cifrado de la contraseña, algo en la web. xml, algo en el contexto.xml. Para Glassfish, también podría ser el grupo y el reino o algo en glassfish-web.xml.

Controle los registros con cuidado. Para GF, debe habilitar Finest como tal: (a) Ir a esta página: http://localhost:4848/common/monitor/serverInstMonitoringServerPage.jsf. (b) Establezca esta propiedad en Finest: javax.enterprise.system.core.security

Cuestiones relacionadas