2012-04-20 454 views
16

我已經在NetBeans中使用GlassFish服務器,現在我換到tomcat,當我 運行,我在GlassFish中創建了我的web應用程序給我的 錯誤:訪問Tomcat服務器沒有被授權

Deployment error: 
Access to Tomcat server has not been authorized. Set the correct 
username and password with the "manager-script" role in the Tomcat 
customizer in the Server Manager. 

我在conf/tomcat-user.xml中添加了名爲「manager-script」的角色 但我的服務器管理器在哪裏?我沒有找到它。 請幫幫我。
感謝...

+0

你檢查了server.xml – Satya 2012-04-20 06:58:17

+0

不,我沒有。你能否稍微解釋一下,我應該在server.xml中更改哪些內容。 – 2012-04-20 07:06:42

+0

評論此塊:內部 <資源名稱= 「UserDatabase」 AUTH = 「容器」 類型=「組織< - - 這也可以通過 UserDatabaseRealm進行用來驗證用戶可編輯的 用戶數據庫!>。 apache.catalina.UserDatabase「 description =」可更新並保存的用戶數據庫「 factory =」org.apache.catalina.users.MemoryUserDatabaseFactory「 pathname =」conf/tomcat-users.xml「/> < GlobalNamingResources> – Satya 2012-04-20 07:08:41

回答

3

在Ubuntu中使用Tomcat 7和Netbeans 7:

關注@Satya說明:

檢查 「Catalina基」 目錄的tomcat-users.xml中。 (右鍵單擊Apache Tomcat 7.xx(在Servers下)並查找 連接選項卡)。

那麼你應該確保你的tomcat-users.xml有這樣的事情:

<user username="admin" password="admin" roles="manager-script"/> 

(如果你想成爲真的確定,雖然NOT RECOMMENDED,你可以把roles="manager-script,manager-gui,manager-status,manager-jmx"

此外,您可以在nbproject文件夾下查找文件build-impl.xml並轉到行:

<nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/> 

變化debugmode"false""true"。這將允許您直接在Netbeans中查看錯誤。

最後,我不得不添加讀取權限tomcat-users.xml爲tomcat7 **(似乎是根編輯時的權限更改),並在**記錄的tomcat文件夾,添加的權限運行的Netbeans(用戶通常是你的用戶)。我創建了一個"development"組,並將我的用戶和tomcat7添加到該組,然後我更改了提供閱讀權限的日誌組。

最後提示:啓動Tomcat在Netbeans服務器部分中執行右鍵單擊,而不是運行/etc/init.d/tomcat7啓動。這樣您將在Netbeans控制檯中看到日誌。

0

如果你打算運行你的web,但它顯示上面的錯誤,那麼這是由於tomcat_user.xml文件(C:\ apache-tomcat-7.0.33 \ conf)中沒有用戶信息,所以去那裏打開這個文件,然後在「......」的末尾寫下這個句子。「

<user password="123" roles="manager-script,admin" username="pir fahim" /> 

<tomcat-users> 
    . 
    . 
    . 
<user password="123" roles="manager-script,admin" username="pir fahim" /> ///write this at this place in the file 
</tomcat-users> 

現在複製上面的句子,並粘貼在你的文件只需更改用戶名和密碼,用角色

3

沒有變化在NetBeans中刪除現有的註冊服務器實例並向用戶登記新服務器實例。 步驟:

  1. 從服務中刪除現有的Tomcat服務器實例 - >服務器
  2. 在服務器然後右鍵單擊,然後單擊添加服務器
  3. 與用戶創建一個新的服務器實例
22
  1. 添加以下行在tomcat-users.xml

    <user username="admin" password="password" roles="tomcat,role1,manager-script,manager-gui"/ 
    
  2. 重新啓動tomcat /服務。

+1

不要忘記在此之後重新啓動tomcat服務,否則這些更改不會生效。 – 2016-06-07 19:32:32

2

NB將嘗試通過代理如果在IDE設置(工具|選項|常規選項卡)指定連接到Tomcat實例。

因此,如果在tomcat-users.xml中進行相關修改後仍然可以看到,請檢查您的代理配置。嘗試將代理設置設置爲「無代理」,然後重試。如果它有效,則代理設置不正確。 「localhost」必須位於「No Proxy Hosts」列表中。相應地糾正。

請@Satya advicing第一註釋去掉應該被忽略( - 這我相信至少在Windows上):

0

我是否有足夠的聲譽真的應該讓這個評論。檢查this如果不相信我

,所以我的解決了這個問題了幾個小時後:

  1. 確保IDE和文本編輯器(記事本++)具有管理員權限
  2. 編輯%TOMCAT都啓動安裝DIR%\ conf \ tomcat-users.xml按照前面的回答指示 尤其是這一個on a duplicated question和這個too
  3. 再次檢查xml文件,我的意思是正確的語法錯誤。爲xml使用一個好的編輯器,記事本++幫助我找出我的錯誤。由於這種SO answer

  4. 保存文件並啓動Tomcat

0

檢查代理設置下工具在IDE>選項。

選擇沒有代理爲我解決了這個問題。

0

補充其他的答案 - 我添加的用戶線,即

<user password="123" roles="manager-script,admin" username="pir fahim" /> 

的人說,但我我錯過了什麼是簡單地重新啓動Tomcat之後。

不要忘記重新啓動tomcart服務或更改不會生效。

相關問題