JBoss服务器可以通过远程的方式关闭服务,因为默认情况JBoss控制台的用户密码都为空,见前一篇文章,看到这个消息后,吃了一惊,因为我们有个东东正在用JBoss做服务器,测试了一下,确实存在这样的问题,赶紧照着材料补了一下
我用的JBoss版本是Version: 4.0.4CR2,操作如下
一、为jms-console加上认证
修改JBoss4serverdefaultdeployjmx-console.warWEB-INF下的web.xml和JBoss-web.xml
在web.xml中把<security-constraint>的注释去掉
<security-constraint> <web-resource-collection> |
在JBoss-web.xml中把<security-domain>注释去掉
<jboss-web> <!-- Uncomment the security-domain to enable security. You will need to edit the htmladaptor login configuration to setup the login modules used to authentication users. --> <security-domain>java:/jaas/jmx-console</security-domain> </jboss-web> |
然后修改JBoss4serverdefaultconfprops下的两个配置文件jmx-console-roles.properties 和jmx-console-users.properties,添加用户和密码,搞定上面的配置之后,访问jms-console就需要认证了,下面继续 web-console的配置
二、为web-console加上认证
在deploy目录下面没有看到web-console,就通过查找,结果找到了两个地方,分别是
jboss4serverdefaultdeploymanagementconsole-mgr.sarweb-console.war jboss4serveralldeploymanagementconsole-mgr.sarweb-console.war
我也没搞清楚倒底是哪个起作用,我改了其中一个试试,没效果,干脆两个都改了,改的步骤都是相同的,下面就对其中一个的配置进行说明了
找到 WEB-INF下面的JBoss-web.xml和web.xml,修改的方法同上,去掉两个注释
认证的文件放在了 WEB-INFclasses下面,分别是web-console-roles.properties和web-console- users.properties,把用户的认证信息添加到里面即可,重新启动JBoss控制台,此时登录JBoss控制台会要求输入密码,我测试后发现有效的密码是 default下面的配置,也搞不懂为什么要两个都改了才会弹出要求身份认证的对话框
以上是JBoss控制台加锁,先暂时就记在这里吧,如果哪位有做深入的研究,希望可以多提意见完善这个文档