未经授权访问Tomcat服务器

时间:2012-04-20 06:48:26

标签: tomcat netbeans-7

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

8 个答案:

答案 0 :(得分:22)

  1. tomcat-users.xml中添加以下行。

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

答案 1 :(得分:3)

在Ubuntu中使用Tomcat 7和Netbeans 7:

关注@Satya说明:

  

检查“Catalina Base”目录的tomcat-users.xml。   (右键单击Apache Tomcat 7.xx(在“服务器”下)并查找   连接标签)。

然后你应该确保你的tomcat-users.xml有类似的东西:

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

(如果你想非常确定,虽然它是NOT RECOMMENDED ,你可以加入roles="manager-script,manager-gui,manager-status,manager-jmx"

此外,您可以在build-impl.xml文件夹下查找文件nbproject并转到第

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

debugmode"false"更改为"true"。这将允许您直接查看Netbeans中的错误。

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

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:2)

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

因此,如果您在tomcat-users.xml中进行相关修改后仍然得到此信息,请检查您的代理配置。尝试将代理设置设置为“无代理”,然后重试。如果有效,则代理设置不正确。 “localhost”必须位于“No Proxy Hosts”列表中。相应地纠正。

答案 4 :(得分: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>

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

答案 5 :(得分:0)

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

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

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

  1. 确保使用管理员权限
  2. 启动IDE和文本编辑器(记事本++)
  3. 按照前面的答案中的指示编辑%TOMCAT INSTALL DIR%\ conf \ tomcat-users.xml 特别是这一个on a duplicated question和此too
  4. 再次检查xml文件,我的意思是正确的语法错误。为xml使用一个好的编辑器,记事本++帮助我弄清楚我的错误。感谢这个SO answer

  5. 保存文件并启动Tomcat

答案 6 :(得分:0)

检查工具&gt;下的代理设置ide中的选项。

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

答案 7 :(得分:0)

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

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

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

不要忘记重启tomcart服务或更改不会生效。