如何禁用或删除Tomcat身份验证(Realm)

问题描述 投票:0回答:3

我第一次通过Tomcat管理器在我的服务器上部署了我的Spring应用程序。

应用程序正确启动,日志中没有任何错误。

但是当我尝试通过URL(http://www.myWebApp.com/webapp)访问我的应用程序时,总会出现一个Tomcat身份验证框,其中包含以下消息:

http://www.myWebApp.com网站需要用户名和密码。网站上写着:Realm”。

请注意,有第一个Apache身份验证,我可以使用我的用户名和密码验证,没有任何问题。验证第一个Apache身份验证框后,将显示Tomcat身份验证框。

我还没有设置,然而我的应用程序的“web.xml”文件相对简单。我使用基于Spring的配置来简化开发。

veb.hml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0">
  <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/static/*</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>403Jsp</servlet-name>
    <jsp-file>/403.jsp</jsp-file>
  </servlet>
  <servlet-mapping>
    <servlet-name>403Jsp</servlet-name>
    <url-pattern>/403</url-pattern>
  </servlet-mapping>
  <error-page>
    <error-code>403</error-code>
    <location>/403</location>
  </error-page>
</web-app>

catalina.2016-04-17.log:

17-Apr-2016 19:13:21.092 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.108 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.113 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.114 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.117 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.119 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
17-Apr-2016 19:13:21.280 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.0.14 (Debian)
17-Apr-2016 19:13:21.282 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:   Dec 18 2015 02:43:21
17-Apr-2016 19:13:21.284 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:  8.0.14.0
17-Apr-2016 19:13:21.286 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:        Linux
17-Apr-2016 19:13:21.290 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:     3.16.0-4-amd64
17-Apr-2016 19:13:21.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:   amd64
17-Apr-2016 19:13:21.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:    1.8.0_72-internal-b15
17-Apr-2016 19:13:21.292 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:     Oracle Corporation
17-Apr-2016 19:13:22.093 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
17-Apr-2016 19:13:22.124 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
17-Apr-2016 19:13:22.132 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
17-Apr-2016 19:13:22.140 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
17-Apr-2016 19:13:22.149 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 983 ms
17-Apr-2016 19:13:22.197 INFO [main] org.apache.catalina.core.StandardService.startInternal Démarrage du service Catalina
17-Apr-2016 19:13:22.200 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.14 (Debian)
17-Apr-2016 19:13:22.244 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Déploiement du descripteur de configuration /etc/tomcat8/Catalina/localhost/manager.xml
17-Apr-2016 19:13:23.360 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
17-Apr-2016 19:13:23.487 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor /etc/tomcat8/Catalina/localhost/manager.xml has finished in 1 242 ms
17-Apr-2016 19:13:23.489 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Déploiement du descripteur de configuration /etc/tomcat8/Catalina/localhost/host-manager.xml
17-Apr-2016 19:13:23.990 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
17-Apr-2016 19:13:23.999 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor /etc/tomcat8/Catalina/localhost/host-manager.xml has finished in 510 ms
17-Apr-2016 19:13:24.000 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Déploiement de l'archive /var/lib/tomcat8/webapps/webapp.war de l'application web
17-Apr-2016 19:13:44.278 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /var/lib/tomcat8/webapps/webapp.war has finished in 20 278 ms
17-Apr-2016 19:13:44.279 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire /var/lib/tomcat8/webapps/ROOT de l'application web
17-Apr-2016 19:13:44.772 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
17-Apr-2016 19:13:44.775 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /var/lib/tomcat8/webapps/ROOT has finished in 496 ms
17-Apr-2016 19:13:44.785 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
17-Apr-2016 19:13:44.800 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
17-Apr-2016 19:13:44.801 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 22651 ms

catalina.out中:

avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
AVERTISSEMENT: Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server version: Apache Tomcat/8.0.14 (Debian)
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server built:   Dec 18 2015 02:43:21
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server number:  8.0.14.0
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: OS Name:        Linux
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: OS Version:     3.16.0-4-amd64
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Architecture:   amd64
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: JVM Version:    1.8.0_72-internal-b15
avr. 17, 2016 7:13:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFOS: JVM Vendor:     Oracle Corporation
avr. 17, 2016 7:13:22 PM org.apache.coyote.AbstractProtocol init
INFOS: Initializing ProtocolHandler ["http-nio-8080"]
avr. 17, 2016 7:13:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFOS: Using a shared selector for servlet write/read
avr. 17, 2016 7:13:22 PM org.apache.coyote.AbstractProtocol init
INFOS: Initializing ProtocolHandler ["ajp-nio-8009"]
avr. 17, 2016 7:13:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFOS: Using a shared selector for servlet write/read
avr. 17, 2016 7:13:22 PM org.apache.catalina.startup.Catalina load
INFOS: Initialization processed in 983 ms
avr. 17, 2016 7:13:22 PM org.apache.catalina.core.StandardService startInternal
INFOS: Démarrage du service Catalina
avr. 17, 2016 7:13:22 PM org.apache.catalina.core.StandardEngine startInternal
INFOS: Starting Servlet Engine: Apache Tomcat/8.0.14 (Debian)
avr. 17, 2016 7:13:22 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFOS: Déploiement du descripteur de configuration /etc/tomcat8/Catalina/localhost/manager.xml
avr. 17, 2016 7:13:23 PM org.apache.jasper.servlet.TldScanner scanJars
INFOS: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
avr. 17, 2016 7:13:23 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFOS: Deployment of configuration descriptor /etc/tomcat8/Catalina/localhost/manager.xml has finished in 1 242 ms
avr. 17, 2016 7:13:23 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFOS: Déploiement du descripteur de configuration /etc/tomcat8/Catalina/localhost/host-manager.xml
avr. 17, 2016 7:13:23 PM org.apache.jasper.servlet.TldScanner scanJars
INFOS: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
avr. 17, 2016 7:13:23 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFOS: Deployment of configuration descriptor /etc/tomcat8/Catalina/localhost/host-manager.xml has finished in 510 ms
avr. 17, 2016 7:13:24 PM org.apache.catalina.startup.HostConfig deployWAR
INFOS: Déploiement de l'archive /var/lib/tomcat8/webapps/webapp.war de l'application web
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
avr. 17, 2016 7:13:44 PM org.apache.catalina.startup.HostConfig deployWAR
INFOS: Deployment of web application archive /var/lib/tomcat8/webapps/webapp.war has finished in 20 278 ms
avr. 17, 2016 7:13:44 PM org.apache.catalina.startup.HostConfig deployDirectory
INFOS: Déploiement du répertoire /var/lib/tomcat8/webapps/ROOT de l'application web
avr. 17, 2016 7:13:44 PM org.apache.jasper.servlet.TldScanner scanJars
INFOS: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
avr. 17, 2016 7:13:44 PM org.apache.catalina.startup.HostConfig deployDirectory
INFOS: Deployment of web application directory /var/lib/tomcat8/webapps/ROOT has finished in 496 ms
avr. 17, 2016 7:13:44 PM org.apache.coyote.AbstractProtocol start
INFOS: Starting ProtocolHandler ["http-nio-8080"]
avr. 17, 2016 7:13:44 PM org.apache.coyote.AbstractProtocol start
INFOS: Starting ProtocolHandler ["ajp-nio-8009"]
avr. 17, 2016 7:13:44 PM org.apache.catalina.startup.Catalina start
INFOS: Server startup in 22651 ms

localhost.2016-04-17.log:

17-Apr-2016 19:13:27.821 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Spring WebApplicationInitializers detected on classpath: [com.j2bb.labs.configuration.initializer.SpringSecurityInitializer@6a81961e, com.j2bb.labs.configuration.initializer.SpringConfigurationInitializer@42c443c6]
17-Apr-2016 19:13:28.043 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Initializing Spring root WebApplicationContext
17-Apr-2016 19:13:44.181 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Initializing Spring FrameworkServlet 'dispatcher'
java spring tomcat spring-security web.xml
3个回答
0
投票

Tomcat服务假设将默认使用8080端口,我相信这个问题可能与Apache设置有关,请你在httpd中查看conf吗?


0
投票

最后,我发现了真正的问题!

在我的Spring Security配置中,我已经定义了“.httpBasic()”。所以我禁用它,它工作正常:.and.httpBasic()。disable()

这个主题帮助我:Disable Basic Authentication while using Spring Security Java configuration

感谢您的帮助Kanchome99 !!


0
投票

添加此代码auth.eraseCredentials(true);在你的webscruty配置类中:

@EnableWebSecurity公共类SecurityConfig扩展了WebSecurityConfigurerAdapter {

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth
        .eraseCredentials(true);
}
© www.soinside.com 2019 - 2024. All rights reserved.