จะแก้ไขป๊อปอัปการอนุญาตที่น่ารำคาญที่ Tomcat ร้องขอได้อย่างไร

ฉันกำลังพยายามเข้าถึงบริการเว็บที่โฮสต์บนเซิร์ฟเวอร์ Tomcat 6 เมื่อฉันป้อน wsdl url ในเบราว์เซอร์ ฉันได้รับแจ้งให้ใส่ข้อมูลประจำตัว

ฉันได้รับป๊อปอัพให้กรอกชื่อผู้ใช้และรหัสผ่าน

A user name and password are being requested by http://localhost:8080. The site says: MyApplicationName

ฉันให้รายละเอียดการเข้าสู่ระบบแอปพลิเคชันของฉันแล้ว แต่มันกลับเตือนฉันครั้งแล้วครั้งเล่า เมื่อฉันคลิกยกเลิก ฉันได้รับข้อยกเว้น 401 ที่ไม่ได้รับอนุญาต

tomcat-users.xml

   <?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
   <user name="admin" password="" roles="manager"/>
</tomcat-users>

server.xml มีรายละเอียดดังนี้

<Server port="8205" shutdown="SHUTDOWN" debug="2">

  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Service name="Catalina" debug="2">

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
               scheme="http"
               secure="false"
               SSLEnabled="false"
               debug="2"
               emptySessionPath="true"
               URIEncoding="UTF-8" />

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost"
         debug="2">

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

      <!-- Define the default virtual host
           Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"
            debug="2">

             <Context path="" docBase="C:\mypath\app.war" debug="2"></Context>        

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

      </Host>
    </Engine>
  </Service>
</Server>

เว็บ.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">


    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>

</web-app>

ใครช่วยบอกฉันหน่อยว่าจะลบป๊อปอัปนี้ได้อย่างไรหรือฉันต้องป้อนชื่อผู้ใช้และรหัสผ่านอะไร มันจะเป็นเฉพาะแอปพลิเคชันของฉันหรือเฉพาะ Tomcat?


person Patan    schedule 22.01.2013    source แหล่งที่มา
comment
โปรดระบุเนื้อหาของ web.xml การกำหนดค่าเสร็จสิ้นที่นั่น   -  person MaVRoSCy    schedule 22.01.2013
comment
@ MaVRoSCy ขอบคุณสำหรับข้อเสนอแนะ ฉันได้อัปเดตคำถามของฉันแล้ว   -  person Patan    schedule 22.01.2013
comment
ตรวจสอบคำตอบที่ยอมรับจากคำถามนี้: stackoverflow.com/questions/7726014/   -  person adranale    schedule 22.01.2013


คำตอบ (2)


ฉันก็ประสบปัญหาเดียวกัน หลังจากแก้ไขปัญหาหลายชั่วโมงและลองใช้วิธีแก้ไขปัญหาที่เป็นไปได้ทั้งหมดที่กล่าวถึงในชุดข้อความนี้และชุดข้อความอื่น ๆ ที่คล้ายกัน ฉันไม่สามารถแก้ไขปัญหาได้ จากนั้นฉันก็สามารถระบุได้ว่าฉันเริ่มประสบปัญหานี้ทันทีเพราะฉันได้ติดตั้ง Oracle บนเครื่องของฉันเมื่อเร็ว ๆ นี้ซึ่งใช้พอร์ตเดียวกัน 8080 ฉันได้เปลี่ยนหมายเลขพอร์ตในไฟล์ server.xml ของฉัน และตอนนี้ก็ทำงานได้ดี..

ด้านล่างนี้เป็นตัวอย่างของการเปลี่ยนแปลง:

 <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
person Gopesh Verma    schedule 24.07.2014

ลองวางสิ่งต่อไปนี้ไว้ใต้แท็ก Listener สุดท้ายเหนือแท็กบริการ:

<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

และในตอนนั้นอยู่ใต้

<Engine name="Catalina" defaultHost="localhost"
     debug="2">

เพิ่ม:

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>

ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนชื่อพาธในทรัพยากร UserDatabase เป็นพาธที่ถูกต้องของไฟล์ tomcat-users.xml คุณจะต้องรีสตาร์ท Tomcat เพื่อให้การเปลี่ยนแปลงมีผล

person Jerry B    schedule 23.01.2013