解锁Apache Tomcat用户LockOutRealm

时间:2016-05-24 12:55:22

标签: java apache tomcat netbeans catalina

我遇到了通过NetBeans运行简单的空Web服务的问题,因为我下载并安装了Apache Tomcat。无法打开空Web项目 - 需要身份验证。 Tomcat运行良好(在localhost:8080打开网页),但进一步的操作(ManagerApp链接)需要登录名和密码。我已经在tomcat-users.xml中添加了必要的字段。

<role rolename="manager-gui"/>
<user username="medet" password="mira" roles="manager-gui"/>

当我尝试输入这些登录名和密码时,apache日志表示他们被阻止,即使他们是第一次输入。 我尝试创建扩展LockOutRealm的java类以解锁我的用户(因为它具有解锁(String user)功能)。

public class UserUnlocker extends LockOutRealm{

@Override
public void unlock(String username) {
    super.unlock(username); 
}

public static void main(String [] args) {
    UserUnlocker mt = new UserUnlocker();
    try {
        mt.unlock("admin");
    }
    catch(Exception ex) {
        ex.printStackTrace();
    }
}
}

例外:

java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Exception in thread "main" C:\Users\mkoilybai\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。我重新安装了Apache,并再次向NetBeans添加了服务器。在部署任何内容之前,我使用manager-gui权限将新用户添加到tomcat-users.xml中。它允许我在tomcat欢迎页面(localhost:8080)中输入Manager App链接。但我仍然无法部署我的测试WebService。它需要我的用户的额外权限(经理脚本)。我再次编辑了tomcat-users.xml,但它没有意义。好像我需要再次做所有的事情。 如果你们有更简单的解决方案,请告诉我。