问题
I have used glassfish server in netbeans, now I changed to tomcat and when I run my web application that I have created in glassfish gives me the error :
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.
I have added a role with name "manager-script" in conf/tomcat-user.xml
but where is my Server Manager? I did'nt find it.
Please help me.
thanks...
回答1:
Add below lines in
tomcat-users.xml
.<user username="admin" password="password" roles="tomcat,role1,manager-script,manager-gui"/
Restart tomcat/service.
回答2:
In Ubuntu with Tomcat 7 and Netbeans 7:
Follow @Satya instructions:
Check the tomcat-users.xml of the "Catalina Base" directory. (Right-click Apache Tomcat 7.xx (under Servers) and look for the connection tab).
Then you should make sure that your tomcat-users.xml
has something like this:
<user username="admin" password="admin" roles="manager-script"/>
(if you want to be REALLY sure, although it is NOT RECOMMENDED, you can put in roles="manager-script,manager-gui,manager-status,manager-jmx"
)
Additionally, you can look for the file build-impl.xml
under nbproject
folder and go to line:
<nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
Change debugmode
from "false"
to "true"
. This will allow you to see the errors in Netbeans directly.
Finally, I had to add read permissions tomcat-users.xml
for tomcat7 ** (it seems that when editing as root the permissions changed) and in the **logs folder of tomcat, add permissions to the user that runs Netbeans (usually your user). I did it creating a "development"
group and added my user and tomcat7
to that group, then I changed the group of the logs giving reading permissions.
Last tip: start Tomcat doing right-click in the Servers section in Netbeans instead of running /etc/init.d/tomcat7
start. That way you will see the logs in the Netbeans console.
回答3:
Remove your existing registered server instance in netbeans and register a new server instance with a user. Steps:
- Remove your existing tomcat server instance in from Services ->Servers
- Then right click on Servers and click Add Server
- Create a new server instance with a user
回答4:
NB will try to connect to the Tomcat instance through the proxy if one is specified in IDE settings (Tools|Options|General tab).
So, if you still get this after making the relevant modifications in tomcat-users.xml, check your proxy configuration. Try setting the proxy settings to "No proxy" and then try again. If it works, you have bad proxy settings. "localhost" must be in the "No Proxy Hosts" list. Correct accordingly.
回答5:
If you are going to run you web but it shows the above error , then it is due to no user information in tomcat_user.xml file(C:\apache-tomcat-7.0.33\conf ), so go there open this file and just write this sentence in the end of the " ...."
<user password="123" roles="manager-script,admin" username="pir fahim" />
like
<tomcat-users>
.
.
.
<user password="123" roles="manager-script,admin" username="pir fahim" /> ///write this at this place in the file
</tomcat-users>
now copy the above sentence and paste it in your file just change your name and password, no changes with roles
回答6:
I really should make this a comment if have enough reputation:
PLEASE the first comment by @Satya advicing to remove should be ignored (at least on windows - which am sure of). check this if don't believe me
After many hours on SO I resolved the issue by:
- Making sure IDE and text editors (notepad++) are launched with Admin rights
- Edit the %TOMCAT INSTALL DIR%\conf\tomcat-users.xml as directed in earlier answers especially this one on a duplicated question and this too
Check that xml file again, I mean properly for syntax errors. Use a good editor for xml, notepad++ help me figured out my error. Thanks to this SO answer
Save the file and start Tomcat
回答7:
check the proxy settings under tools > options in the ide.
selecting no proxy resolved this issue for me.
回答8:
Complementing the other answers - I was adding the user line i.e.
<user password="123" roles="manager-script,admin" username="pir fahim" />
as people said, but I what I was missing was to simply restart tomcat after that.
Don't forget to restart tomcart service or the changes won't take effect.
来源:https://stackoverflow.com/questions/10241539/access-to-tomcat-server-has-not-been-authorized