private void handleAccessDenied ( AccessResult result , JsMessage msg , String alternateUser ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "handleAccessDenied" , new Object [ ] { result , msg , alternateUser } ) ; // Determine the username and operation for messaging String userName = null ; OperationType operationType = null ; if ( result . didIdentityAdoptionFail ( ) ) { userName = msg . getSecurityUserid ( ) ; operationType = OperationType . IDENTITY_ADOPTER ; } else { operationType = OperationType . SEND ; if ( alternateUser != null ) userName = alternateUser ; else userName = msg . getSecurityUserid ( ) ; } // Build the message for the Exception and the Notification String nlsMessage = nls . getFormattedMessage ( "USER_NOT_AUTH_EXCEPTION_DEST_ERROR_CWSIP0313" , new Object [ ] { userName , _exceptionDestinationName } , null ) ; // Fire a Notification if Eventing is enabled _messageProcessor . getAccessChecker ( ) . fireDestinationAccessNotAuthorizedEvent ( _exceptionDestinationName , userName , operationType , nlsMessage ) ; // Report the not authorized condition to the console SibTr . warning ( tc , "USER_NOT_AUTH_EXCEPTION_DEST_ERROR_CWSIP0313" , new Object [ ] { userName , _exceptionDestinationName } ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "handleAccessDenied" ) ; }
Fire an event if eventing is enabled and write an audit record .