org.openpermis.examples.common
Class HelloWorldAuditLogger

java.lang.Object
  extended by org.openpermis.audit.VetoableAccessDecisionAdapter
      extended by org.openpermis.examples.common.HelloWorldAuditLogger
All Implemented Interfaces:
org.openpermis.audit.VetoableAccessDecisionListener

public class HelloWorldAuditLogger
extends org.openpermis.audit.VetoableAccessDecisionAdapter

A simple audit logger for the hello world example which logs to a text file. In case that the text file couldn't be written, the logger uses it's veto to deny the access request.

Since:
0.9.0

Field Summary
static String AUDIT_LOG_FILE
          The text file for the audit log.
private  String auditFilePath
           
 
Constructor Summary
HelloWorldAuditLogger(String auditFilePath)
           
 
Method Summary
 void accessDecisionFailure(org.openpermis.audit.AccessDecisionRequest request, org.openpermis.PolicyDecisionException exception)
           
 String getAuditFilePath()
           
private  String requestToString(org.openpermis.audit.AccessDecisionRequest request)
           
 void vetoableAccessDecision(org.openpermis.audit.AccessDecisionRequest request, org.openpermis.policy.AccessDecision decision)
           
private  boolean writeLogEntry(String message)
          Writes the message together with the time to the log file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AUDIT_LOG_FILE

public static final String AUDIT_LOG_FILE
The text file for the audit log.

Constant Field Value:
"audit-log.txt"
Since:
0.9.0

auditFilePath

private String auditFilePath
Constructor Detail

HelloWorldAuditLogger

public HelloWorldAuditLogger(String auditFilePath)
Since:
0.9.0
Method Detail

getAuditFilePath

public String getAuditFilePath()
Returns:
the auditFilePath.
Since:
0.9.0

writeLogEntry

private boolean writeLogEntry(String message)
Writes the message together with the time to the log file.

Parameters:
message - the message.
Returns:
true if the message is successfully written to the file.
Since:
0.9.0

requestToString

private String requestToString(org.openpermis.audit.AccessDecisionRequest request)
Since:
0.9.0

accessDecisionFailure

public void accessDecisionFailure(org.openpermis.audit.AccessDecisionRequest request,
                                  org.openpermis.PolicyDecisionException exception)
Specified by:
accessDecisionFailure in interface org.openpermis.audit.VetoableAccessDecisionListener
Overrides:
accessDecisionFailure in class org.openpermis.audit.VetoableAccessDecisionAdapter
Since:
0.9.0

vetoableAccessDecision

public void vetoableAccessDecision(org.openpermis.audit.AccessDecisionRequest request,
                                   org.openpermis.policy.AccessDecision decision)
                            throws org.openpermis.audit.AccessDecisionVetoException
Specified by:
vetoableAccessDecision in interface org.openpermis.audit.VetoableAccessDecisionListener
Overrides:
vetoableAccessDecision in class org.openpermis.audit.VetoableAccessDecisionAdapter
Throws:
org.openpermis.audit.AccessDecisionVetoException
Since:
0.9.0


OpenPermis Role Based Access Control 0.9.0 (Build 16)
2009/08/13 07:18:05
Copyright (c) 2002-2007 Ergon Informatik AG