服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

appfuse在jboss上的配置

主要是安全配置和日志问题,安全配置涉及到login-config.xmlweb.xmljboss-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 1.13.2.8 2003/09/23 14:16:27 slaboure exp $ -->

 

<!--

   | 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>

扫描关注微信公众号