2012-04-20 458 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服务或更改不会生效。

相关问题