我正在使用Apache TomEE(本地主机上的apache-tomee-plus-1.5.2)使用一些JEE Web应用程序,并尝试从TomEE主页上的链接访问这些服务。
现在,我记得早在我开始开发JEE应用程序时,我正在向TomEE服务器部署一些简单的练习,应用主要是关于会话bean和访问某些数据库的实体。然后,我编辑了[tomee]/conf/tomcat-users.xml
文件,配置了特定角色,用户名和密码(具体地说,用户名= tomee
,密码= tomee
),然后我就可以转到localhost:8080/tomee
(Tomcat GUI),使用这些凭据登录,我可以看到哪些bean部署到服务器或哪些Web服务。
现在,当我转到[tomee]/conf
文件夹时,有tomcat-users.xml
个文件,还有tomcat-users.xml.original
(我相信TomEE在编辑时会自动生成文件tomcat-users.xml
)
在这两个文件中,有以下几行:
<role rolename="admin-gui"/>
<role rolename="tomee-admin"/>
<role rolename="manager-gui"/>
<user password="tomee" roles="tomee-admin,manager-gui,admin-gui" username="tomee"/>
问题:如果这些行存在于tomee的配置文件中,为什么我无法访问TomEE的服务(“TomEE GUI”,“服务器状态”,“Manager App”和“Host Manager”)?
答案 0 :(得分:1)
问题出现在conf/server.xml
文件内容中。我已经定义了Realm
标签,用于从应用程序访问数据库。此Realm
标记定义应包含在Context
标记内,该标记也位于Host
标记内。实际上,TomEE server
试图从我的Realm
而不是tomcat-users.xml
文件中查找凭据。
在Realm
标记下移动Host
定义(Realm
也在Context
标记内),问题就解决了。