我花了很多天试图获得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";
}
}