主要是安全配置和日志问题,安全配置涉及到login-config.xml、web.xml、jboss-web.xml这几个文件,日志涉及到log4j.xml文件,配置方法如下:
1. 修改/server/default/cof/login-config.xml文件,为appfuse添加登录策略。
<application-policy name = "appfuse"> <authentication> <login-module code = "org.jboss.security.auth.spi.databaseserverloginmodule" flag = "required"><module-option name = "dsjndiname">jdbc/mysql</module-option><!—如果是jboss4.0,名字为java:/ jdbc/mysql-->
<module-option name = "principalsquery"> select password from app_user where username=? </module-option> <module-option name = "rolesquery"> select role_name, 'roles' from user_role where username=? </module-option> </login-module> </authentication> </application-policy>2. 创建数据源文件,比如文件名为mysql-ds.xml,将这个文件放入/server/default/ deploy目录中,内容如下:
<?xml version="1.0" encoding="utf-8"?><datasources> <local-tx-datasource> <jndi-name>jdbc/mysql</jndi-name> <connection-url>jdbc:mysql://localhost:3306/mysql</connection-url> <driver-class>com.mysql.jdbc.driver</driver-class> <user-name>root</user-name> <password></password> </local-tx-datasource></datasources>3. 创建jboss-web.xml文件,定义jdbc资源和该app使用的是login-config.xml文件配置的哪一个安全策略。内容如下:
<?xml version="1.0" encoding="utf-8" ?> <jboss-web> <context-root>/appfuse</context-root> <resource-ref> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.datasource</res-type> <jndi-name>java:jdbc/mysql</jndi-name> </resource-ref> <security-domain>java:/jaas/appfuse</security-domain> </jboss-web>4. 修改web.xml文件:关键是资源的定义,如下:
<resource-ref>
<description>db connection</description>
<res-ref-name> jdbc/mysql </res-ref-name>
<res-type>javax.sql.datasource</res-type>
<res-auth>container</res-auth>
</resource-ref>
5. web应用部署在jboss中时log4j的配置必须在/server/default/conf/log4j.xml中进行配置,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!doctype log4j:configuration system "log4j.dtd">
<!-- ===================================================================== -->
<!-- -->
<!-- log4j configuration -->
<!-- -->
<!-- ===================================================================== -->
<!-- $id: log4j.xml,v
<!--
| for more configuration infromation and examples see the jakarta log4j
| owebsite: http://jakarta.apache.org/log4j
-->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!-- ================================= -->
<!-- preserve messages in a local file -->
<!-- ================================= -->
<!-- a time/date based rolling appender -->
<appender name="file" class="org.jboss.logging.appender.dailyrollingfileappender">
<errorhandler class="org.jboss.logging.util.onlyonceerrorhandler"/>
<param name="file" value="${jboss.server.home.dir}/log/server.log"/>
<param name="append" value="false"/>
<!-- rollover at midnight each day -->
<param name="datepattern" value="'.'yyyy-mm-dd"/>
<!-- rollover at the top of each hour
<param name="datepattern" value="'.'yyyy-mm-dd-hh"/>
-->
<layout class="org.apache.log4j.patternlayout">
<!-- the default pattern: date priority [category] message/n -->
<param name="conversionpattern" value="%d %-5p [%c] %m%n"/>
<!-- the full pattern: date ms priority [category] (thread:ndc) message/n
<param name="conversionpattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<appender name="log" class="org.jboss.logging.appender.dailyrollingfileappender">
<errorhandler class="org.jboss.logging.util.onlyonceerrorhandler"/>
<param name="file" value="${jboss.server.home.dir}/log/app.log"/>
<param name="append" value="false"/>
<!-- rollover at midnight each day -->
<param name="datepattern" value="'.'yyyy-mm-dd"/>
<!-- rollover at the top of each hour
<param name="datepattern" value="'.'yyyy-mm-dd-hh"/>
-->
<layout class="org.apache.log4j.patternlayout">
<!-- the default pattern: date priority [category] message/n -->
<param name="conversionpattern" value="[%5p] %d{mm:ss} (%f:%m:%l)%n%m%n%n"/>
<!-- the full pattern: date ms priority [category] (thread:ndc) message/n
<param name="conversionpattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<!-- ============================== -->
<!-- append messages to the console -->
<!-- ============================== -->
<appender name="console" class="org.apache.log4j.consoleappender">
<errorhandler class="org.jboss.logging.util.onlyonceerrorhandler"/>
<param name="target" value="system.out"/>
<param name="threshold" value="error"/>
<layout class="org.apache.log4j.patternlayout">
<!-- the default pattern: date priority [category] message/n -->
<param name="conversionpattern" value="%d{absolute} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<category name="org" >
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="com" >
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="net.sf.hibernate" >
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="net.sf" >
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<!-- limit the org.apache.commons category to info as its debug is verbose -->
<category name="org.apache" >
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<!-- limit jboss categories to info -->
<category name="org.jboss">
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="org.apache.struts.action">
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="org.appfuse">
<priority value="info"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<category name="org.appfuse.struts">
<priority value="info"/>
<appender-ref ref="log"/>
</category>
<category name="org.appfuse.webapp.listener">
<priority value="info"/>
<appender-ref ref="log"/>
</category>
<category name="org.appfuse.mdb">
<priority value="info"/>
<appender-ref ref="log"/>
</category>
<category name="org.appfuse.common.jms">
<priority value="warn"/>
<appender-ref ref="log"/>
</category>
<category name="org.appfuse">
<priority value="warn"/>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</category>
<root>
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
</log4j:configuration>
闽公网安备 35060202000074号