2013-12-17 19 views
1

我花了很多天试图获得Inspektr审计(https://github.com/dima767/inspektr/wiki/Inspektr-Auditing)与我的Spring应用程序一起工作。我可以找到的所有示例似乎都涉及CAS,但我的应用程序使用spring安全性进行身份验证。使用Inspektr审计Spring应用程序时没有输出 - 不使用CAS

目前,我只是试图在整个代码的其余部分添加审计语句之前进行小测试。当我运行我的测试时,没有输出,没有错误,我已经用完了想法。如果您不使用CAS,甚至可以使用Inspektr?我用一个简单的JUnit测试它(以便在eclipse中快速测试) - junit只是创建可审计的类并调用可审计的方法。类本身运行良好 - 我只是没有得到任何输出。

我真的很希望有人能帮忙!

这里是我的xml(这是我的第一篇文章,所以如果道歉不出来很好的格式化):

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xmlns:c="http://www.springframework.org/schema/c" 
     xmlns:util="http://www.springframework.org/schema/util" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
       http://www.springframework.org/schema/util 
       http://www.springframework.org/schema/util/spring-util-3.2.xsd"> 

<!-- Entry for Inspektr Audit Logging Functionality --> 
    <aop:aspectj-autoproxy /> 

    <!-- ***************AUDIT TRAIL MANAGERS*************** --> 
    <bean id="loggingAuditTrailManager" class="com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager"/> 
    <bean id="consoleAuditTrailManager" class="com.github.inspektr.audit.support.ConsoleAuditTrailManager"/> 
    <bean id="jdbcAuditTrailManager" class="com.github.inspektr.audit.support.JdbcAuditTrailManager"> 
     <constructor-arg index="0" ref="inspektrTransactionTemplate" /> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

    <util:list id="auditTrailManagers" value-type="java.lang.String"> 
     <ref bean="loggingAuditTrailManager"/> 
     <ref bean="consoleAuditTrailManager"/> 
     <ref bean="jdbcAuditTrailManager"/> 
    </util:list> 


    <!-- ***************AUDIT ACTION RESOLVERS*************** --> 
    <bean id="defaultActionResolver" class="com.github.inspektr.audit.spi.support.DefaultAuditActionResolver"> 
     <constructor-arg index="0" value="_SUCCEEDED"/> 
     <constructor-arg index="1" value="_FAILED"/> 
    </bean> 


    <util:map id="auditActionResolversMap"> 
     <entry key="DEFAULT_ACTION_RESOLVER" value-ref="defaultActionResolver" /> 
    </util:map> 


    <!-- ***************AUDIT RESOURCE RESOLVERS --> 
    <util:map id="auditResourceResolversMap"> 
     <entry key="DEFAULT_RESOURCE_RESOLVER"> 
      <bean 
       class="com.github.inspektr.audit.spi.support.ReturnValueAsStringResourceResolver" /> 
     </entry> 
    </util:map> 

    <!-- ***************PRINCIPAL RESOLVERS*************** --> 
    <bean id="anonymousPrincipalResolver" class="myapp.service.helper.AnonymousPrincipalResolver"/> 
<!--  <bean id="springSecurityAuditablePrincipalResolver" class="org.inspektr.audit.spi.support.SpringSecurityAuditablePrincipalResolver"/> --> 


    <!-- ***************SETTINGS REQUIRED FOR JDBC AUDIT MANAGER --> 
    <bean id="inspektrTransactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"> 
     <property name="transactionManager" ref="inspektrTransactionManager" /> 
     <property name="timeout" value="5" /> 
    </bean> 

    <bean id="inspektrTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

    <bean id="isolationReadCommitted" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"> 
     <property name="staticField" value="org.springframework.transaction.TransactionDefinition.ISOLATION_READ_COMMITTED"/> 
    </bean> 


    <!-- ***************MAIN AUDIT ASPECT*************** --> 
    <bean id="auditTrailManagementAspect" class="com.github.inspektr.audit.AuditTrailManagementAspect" 
     c:applicationCode="MYAPP_WEB_APPLICATION" 
     c:auditablePrincipalResolver-ref="anonymousPrincipalResolver" 
     c:auditTrailManagers-ref="auditTrailManagers" 
     c:auditActionResolverMap-ref="auditActionResolversMap" 
     c:auditResourceResolverMap-ref="auditResourceResolversMap" /> 

    <!-- ***************DEFINE AUDITABLE BEANS*************** --> 
    <bean id="simpleService" class="myapp.service.helper.SimpleAuditExample"/> 


</beans> 

及这里的尝试获得由审计记录类:

package myapp.service.helper; 

import com.github.inspektr.audit.annotation.Audit; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.transaction.TransactionDefinition; 

public class SimpleAuditExample { 

    private static final Logger logger = LoggerFactory.getLogger(SimpleAuditExample.class); 

    public SimpleAuditExample() { 

    } 

    @Audit(action = "SIMPLE_ACTION", actionResolverName = "DEFAULT_ACTION_RESOLVER", resourceResolverName = "DEFAULT_RESOURCE_RESOLVER") 
    public String performAuditableActionGetString() { 
     return "Well, here is some simple value"; 
    } 
} 

回答

0

修改您auditTrailManagementAspect到这样的事情: -

<bean id="auditTrailManagementAspect" class="com.github.inspektr.audit.AuditTrailManagementAspect"> 
     <!-- String applicationCode --> 
     <constructor-arg index="0" value="MY_aPPLICATION"/> 

     <!-- PrincipalResolver --> 
     <constructor-arg index="1" ref="anonymousPrincipalResolver"/> 

     <!-- List<AuditTrailManager> auditTrailManagers --> 
     <constructor-arg index="2"> 
      <list> 

       <ref bean="jdbcAuditTrailManager"/> 
       <ref bean="consoleAuditTrailManager"/> 
      </list> 
     </constructor-arg> 


     <!-- Map<String,AuditActionResolver> auditActionResolverMap --> 
     <constructor-arg index="3"> 
      <map> 
       <entry key="DEFAULT_ACTION_RESOLVER"> 
        <ref local="defaultActionResolver"/> 
       </entry> 
      </map> 
     </constructor-arg> 

     <!-- Map<String,AuditResourceResolver> auditResourceResolverMap --> 
     <constructor-arg index="4"> 
      <map> 
       <entry key="DEFAULT_RESOURCE_RESOLVER"> 
        <bean class="com.github.inspektr.audit.spi.support.ObjectToStringResourceResolver"/> 
       </entry> 
      </map> 
     </constructor-arg> 
    </bean> 

除了来回m这个inspektr希望你的数据库中有一个名为COM_AUDIT_TRAIL的数据库表。有关进一步的参考资料,请查看此链接: https://wiki.jasig.org/display/CASUM/Auditing+and+Statistics+Via+Inspektr