Quiero habilitar la autenticación basada en formularios mediante el uso de base de datos como reino pero siempre estoy recibiendo ese mensaje siempre que se intenta autenticarse como Tomcat manager de Tomcat 6. Ya he creado una tabla user_name y user_roles y se asigna el nombre de usuario(azul) para el administrador y gestor de papel en user_roles tabla en mysql, pero todavía soy incapaz de autenticar. Ya he recreado reino etiqueta en server.xml de archivo:

 <Realm className      = "org.apache.catalina.realm.JDBCRealm"
        debug          = "99" 
        driverName     = "com.mysql.jdbc.Driver"
        connectionURL  = "jdbc:mysql://localhost:3306/mail" 
        connectionName = "root" 
        userTable      = "users"
        userNameCol    = "user_name"
        userCredCol    = "user_pass"
        userRoleTable  = "user_roles" 
        roleNameCol    = "role_name" 
 /> 

Podría alguien por favor decirme lo equivocado que estoy haciendo, y cómo puedo habilitar la autenticación basada en formularios mediante una base de datos?

  1. He declarado el usuario «azul» como administrador y gerente, y cuando estoy tratando de inicio de sesión en tomcat manager página, me está dando el mensaje:

    De Estado HTTP 403 – Acceso al recurso solicitado ha sido negado

  2. Cuando yo escriba mal el nombre de usuario o contraseña, tomcat de nuevo pide nombre de usuario y contraseña en lugar de mostrar el mensaje.
1. ¿Qué sucede cuando se trate de inicio de sesión como administrador ? 2. ¿Qué sucede cuando le doy la contraseña incorrecta – ¿da el mismo error?
1. He declarado que el usuario «azul» como administrador y gerente, y cuando estoy tratando de inicio de sesión en tomcat manager página, me está dando el mensaje de Estado HTTP 403 – Acceso al recurso solicitado ha sido denegada 2. Cuando yo escriba mal el nombre de usuario o contraseña, tomcat de nuevo pide nombre de usuario y contraseña en lugar de mostrar el mensaje.

OriginalEl autor Stardust | 2010-03-25

4 Comentarios

  1. 2

    No he probado a mí mismo. Puedes intentar cambiar el auth-method en el TOMCAT_HOME_DIR\webapps\manager\WEB-INF\web.xml a punto el auth-método de conjunto de la FORMA. El reino-el nombre no importa.

    <login-config>   <auth-method>FORM</auth-method>   <realm-name>Tomcat Manager Application</realm-name> </login-config>
    

    También acaba de confirmar – vas a tener que mantener sólo un Reino en el server.xml comentario fuera de la fábrica.

    OriginalEl autor JoseK

  2. 3

    De Estado HTTP 403 (Acceso al recurso solicitado ha sido denegado) puede indicar que se escribió demasiadas credenciales incorrectas o que haya algún problema con su configuración.

    Un posible problema podría ser que su navegador podría tener sus credenciales de autenticación en caché, porque con BASIC auth, el navegador sólo pedirá las credenciales de la primera vez que autenticar a su sitio. Después de una autenticación exitosa, que no le pedirá de nuevo y a la fuerza de su navegador para que le avise de nuevo, a veces es necesario cerrar completamente el navegador (o intenta con otro navegador web).

    Si no ha cambiado ningún archivo de configuración, por favor, examine el archivo conf/tomcat-users.xml en su instalación (locate tomcat-users.xml). Ese archivo debe contener las credenciales para permitir el uso de Tomcat webapp.

    Por ejemplo, para agregar el administrador de interfaz gráfica de usuario gui rol a un usuario llamado tomcat con una contraseña de s3cret, agregue lo siguiente al archivo de configuración de la lista de arriba:

    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui"/>
    

    Entonces usted puede acceder a su webapps administrador de /manager/html (por ejemplo, recargar después config cambios).

    Leer más: Aplicación para la gestión de CÓMO-A

    Si usted está tratando de implementar su propia seguridad restricción (en web.xml), pruebe el siguiente ejemplo (agregar antes de </web-app> final):

    <!-- This security constraint protects your webapp interface. -->
    <login-config>
      <!-- Define the Login Configuration -->
      <auth-method>BASIC</auth-method>
      <realm-name>Webapp</realm-name>
    </login-config>
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>Admin</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
      </web-resource-collection>
      <auth-constraint>
        <role-name>*</role-name>
      </auth-constraint>
      <!-- Specifying a Secure Connection -->
      <user-data-constraint>
        <!-- transport-guarantee can be CONFIDENTIAL (forced SSL), INTEGRAL, or NONE -->
        <transport-guarantee>NONE</transport-guarantee>
      </user-data-constraint>
    </security-constraint>
    <!-- Authorization, see: tomcat-users.xml --> 
    <security-role>
      <role-name>*</role-name>
    </security-role>
    

    El login-config elemento contiene el auth-method elemento, en el que se especifica el método de autenticación que usamos, que es BASIC. El security-constraint elemento contiene 3 elementos: web-resource-collection, auth-constraint, y user-data-constraint. La web-resource-colección especifica las partes de nuestra aplicación que requieren autenticación. El /* indica que la aplicación entera se requiere autenticación. El auth-restricción especifica el rol que un usuario necesita tener para acceder a los recursos protegidos. Los datos de usuario de la restricción del transporte de garantía puede ser NONE, CONFIDENTIAL o INTEGRAL. Lo ponemos a NONE, lo que significa que redirigir a SSL no es necesario cuando se trate de golpear a los recursos protegidos.

    También asegúrese de que usted ha de línea:

    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    

    dentro de su conf/server.xml (Engine sección).

    Si usted sigue teniendo el problema, intente lo siguiente:

    • comprobar si está editando el archivo XML correcto,
    • validar los archivos XML, por ejemplo, catalina.sh configtest o xmlstarlet val /etc/tomcat?/*.xml /var/lib/tomcat7/webapps/*/WEB-INF/*.xml,
    • su <url-pattern> partidos en su <security-constraint> o conjunto de /*,
    • revise sus registros de Tomcat (por ejemplo,/var/log/tomcat7),
    • aumentar el nivel de registro (INFO -> FINE/FINEST) en logging.properties o log4j.properties (INFO, SEVERA ADVERTENCIA, INFORMACIÓN de CONFIGURACIÓN, FINOS, FINOS, FINOS o TODOS), reinicie Tomat y compruebe los registros,
    • si nada en los registros, verificación si desea comprobar el derecho de los registros (sudo lsof | grep -E "java.*(out|txt|log)$", tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out),
    • cuando se utiliza log4j sistema de registro, asegúrese de que usted inicializa correctamente mediante la colocación de libs y log4j.properties en la carpeta de la derecha y de configurar,
    • prueba de la autenticación BÁSICA con cURL:

      • sin credenciales:

        $ curl -vv http://example.com:8983/solr/
        

        Normalmente solicitud debe devolver HTTP/1.1 401 no autorizado y el «WWW-Authenticate» encabezado debe indicar Básica es necesaria la autenticación.

      • con credenciales:

        $ curl -vv -u tomcat:tomcat http://example.com:8983/solr/
        

        La solicitud debe ser enviada con una «Autorización» encabezado y debe autenticar. Si sus credenciales son válidas, usted debe conseguir: HTTP/1.1 401 no autorizado. Si el usuario es autenticado, pero no tiene acceso a ver el recurso debe obtener: HTTP/1.1 403 Prohibido.

    • tal vez un mecanismo de bloqueo del usuario ha sido activado para demasiados intentos de autenticación fallidos (LockOutRealm),

    • detener y ejecutar Tomcat de forma manual (en la misma manera como en: ps wuax | grep ^tomcat), por ejemplo:

      # ps wuax | grep ^tomcat
      tomcat7    884  /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties ... org.apache.catalina.startup.Bootstrap start
      $ /etc/init.d/tomcat7 stop
      $ sudo sudo -u tomcat7 /usr/lib/jvm/java-7-openjdk-amd64/bin/java ...  -Dorg.apache.catalina.level=FINEST org.apache.catalina.startup.Bootstrap start
      

      Alternativamente empezar a usar catalina.sh secuencia de comandos como:

      $ . /etc/default/tomcat7
      $ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 CATALINA_HOME=/usr/share/tomcat7 CATALINA_BASE=/var/lib/tomcat7 CATALINA_PID=/var/run/tomcat7.pid CATALINA_TMPDIR=/tmp LOGGING_CONFIG="-Dorg.apache.catalina.level=FINEST"
      $ /usr/share/tomcat7/bin/catalina.sh run
      

      O en el modo de depuración:

      $ JPDA_SUSPEND=y catalina.sh jpda start
      

      y comprobar su catalina.out de registro.

    • última instancia, el proceso de depuración por: sudo strace -fp PID.

    Muy útil la respuesta! Gracias!

    OriginalEl autor kenorb

  3. 0

    Es necesario definir otra función de usuario nombrado «tomcat» y hacer que el usuario ‘blue’ un miembro de este grupo.

    Puede cambiar el nombre de grupo de funciones necesarias por esta restricción en web.xml archivo:

    <auth-constraint>
        <role-name>tomcat</role-name>
    </auth-constraint>
    

    OriginalEl autor bekce

  4. 0

    Tengo el mismo error «de Estado HTTP 403 – Acceso al recurso solicitado ha sido denegado», en lugar de la ventana pop-up ,cuando se utiliza la autenticación BÁSICA .Yo había usado mi personalizar papel(minombre), pero no trabajó. Así que , me puse de rol (administrador de interfaz gráfica de usuario gui) y el usuario y contraseña asignados a la misma. Después de la configuración que tengo resultado requerido. Utilizar el administrador de interfaz gráfica de usuario gui como un papel y, a continuación, inténtelo de nuevo.

    OriginalEl autor user3769811

Dejar respuesta

Please enter your comment!
Please enter your name here