【问题标题】:Access to Tomcat server has not been authorized未授权访问 Tomcat 服务器
【发布时间】:2012-04-20 06:48:26
【问题描述】:

我在netbeans中使用过glassfish服务器,现在我改为tomcat,当我 运行我在 glassfish 中创建的 Web 应用程序给了我 错误:

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”的角色 但是我的服务器管理器在哪里?我没找到。 请帮帮我。
谢谢...

【问题讨论】:

  • 不,我没有。你能解释一下我应该在 server.xml 中改变什么吗?
  • 评论这个块:
  • 感谢您的回答,但我的 conf/server.xml 文件中已经有该代码。我现在该怎么办?
  • 检查“Catalina Base”目录的tomcat-users.xml。右键单击 Apache Tomcat 6.xx(在服务器下)并查找连接选项卡。应该有一条叫做Catalina Base的路径。浏览到它并记下凭据集;默认是用户名:ide 和密码:tomcat-users。包括:确保在该服务器对话框中设置相同的凭据。关上它,你就准备好了!希望这会有所帮助!
  • 酷!很高兴我能提供任何帮助

标签: tomcat netbeans-7


【解决方案1】:
  1. tomcat-users.xml 中添加以下行。

     <user username="admin" password="password" roles="tomcat,role1,manager-script,manager-gui"/
    
  2. 重启Tomcat/服务。

【讨论】:

  • 之后不要忘记重启tomcat服务,否则更改不会生效。
【解决方案2】:

在带有 Tomcat 7 和 Netbeans 7 的 Ubuntu 中:

按照@Satya 的说明进行操作:

检查“Catalina Base”目录的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 中的错误。

最后,我必须为tomcat7 **添加读取权限tomcat-users.xml(似乎以root身份编辑时权限已更改)并在tomcat的**logs文件夹中,为运行的用户添加权限Netbeans(通常是您的用户)。我创建了一个"development" 组并将我的用户和tomcat7 添加到该组,然后我更改了授予读取权限的日志组。

最后一个提示:在 Netbeans 的“服务器”部分中单击鼠标右键启动 Tomcat,而不是运行 /etc/init.d/tomcat7 start。这样您将在 Netbeans 控制台中看到日志。

【讨论】:

    【解决方案3】:

    删除您在 netbeans 中现有的注册服务器实例,并向用户注册一个新的服务器实例。 步骤:

    1. 从服务->服务器中删除现有的 tomcat 服务器实例
    2. 然后右键单击服务器并单击添加服务器
    3. 使用用户创建新的服务器实例

    【讨论】:

      【解决方案4】:

      如果在 IDE 设置(工具|选项|常规选项卡)中指定了代理,NB 将尝试通过代理连接到 Tomcat 实例。

      所以,如果你在 tomcat-users.xml 中进行相关修改后仍然得到这个,请检查你的代理配置。尝试将代理设置设置为“无代理”,然后重试。如果它有效,则说明您的代理设置错误。 “localhost”必须在“No Proxy Hosts”列表中。相应地更正。

      【讨论】:

        【解决方案5】:

        如果你要运行你的网页但它显示上述错误,那么这是由于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>
        

        现在复制上面的句子并将其粘贴到您的文件中,只需更改您的姓名和密码,无需更改角色

        【讨论】:

          【解决方案6】:

          如果有足够的声誉,我真的应该发表评论:

          请忽略@Satya 建议删除的第一条评论(至少在 Windows 上 - 这是肯定的)。不信请查看this

          经过几个小时后,我通过以下方式解决了这个问题:

          1. 确保 IDE 和文本编辑器 (notepad++) 以管理员权限启动
          2. 按照先前答案中的指示编辑 %TOMCAT INSTALL DIR%\conf\tomcat-users.xml 尤其是这个on a duplicated question 和这个too
          3. 再次检查那个 xml 文件,我的意思是语法错误。使用一个好的 xml 编辑器,notepad++ 帮助我找出我的错误。感谢这个 SO answer

          4. 保存文件并启动Tomcat

          【讨论】:

            【解决方案7】:

            检查IDE中工具>选项下的代理设置。

            选择无代理为我解决了这个问题。

            【讨论】:

              【解决方案8】:

              补充其他答案 - 我正在添加用户行,即

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

              正如人们所说,但我缺少的是在那之后简单地重新启动tomcat。

              不要忘记重新启动 tomcart 服务,否则更改不会生效。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2023-04-02
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多