=== modified file dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java 2010-05-03 13:44:59 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java 2010-10-04 05:32:55 +0000 @@ -27,6 +27,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -41,6 +42,7 @@ public class UserAuditLogoutFilter implements LogoutHandler { + private UserAuditService userAuditService; public void setUserAuditService( UserAuditService userAuditService ) @@ -48,10 +50,21 @@ this.userAuditService = userAuditService; } + @Override public void logout( HttpServletRequest request, HttpServletResponse response, Authentication authentication ) { - String username = (( UserDetails ) authentication.getPrincipal()).getUsername(); - - userAuditService.registerLogout( username ); + if ( authentication != null ) + { + String username = ( (UserDetails) authentication.getPrincipal() ).getUsername(); + userAuditService.registerLogout( username ); + } else + { + try + { + response.sendRedirect( request.getContextPath() ); + } catch ( IOException ex ) + { + } + } } }