public boolean requiresLogin() { return uiConfig.requiresLogin(); }
@Override public Boolean hasSession(final String sessionId) { if ( searchUIConfig.requiresLogin() ) { return Boolean.valueOf( authMgr.isValid( sessionId, false ) ); } return Boolean.TRUE; }
@Override public void init() { final WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext( getServletContext() ); nodeRegistry = ctx.getBean(NodeRegistryService.class); requiresLogin = searchUIConfig.requiresLogin(); }
protected boolean isSessionValid(final String sessionId, final boolean shouldThrow) { if (SearchUIConfig.getInstance().requiresLogin()) { return authMgr.isValid(sessionId, shouldThrow); } else { final boolean isValid = authMgr.isValid(sessionId, false); if (!isValid) { if (DEBUG) { logger.debug("SessionId with authentication manager no longer valid, relogging in with no auth."); } authMgr.logIn(); } return true; } }
@Override public void logOut(final String sessionId) { try { final RepositoryHttpConfig rconfig = new RepositoryHttpConfig( localNode.getLocalNodeConfig().getNodeUrlString(), true ); final String logoutUrl = rconfig.getFullRepositoryUrl( RepositoryLocale.LOGOUT_URL ); if ( searchUIConfig.requiresLogin() ) { authMgr.logOut( logoutUrl, sessionId ); } else { if ( searchUIConfig.hasSystemUser() ) { authMgr.logOut( logoutUrl, sessionId ); } else { authMgr.logOut( null, sessionId ); } } } catch (RepositoryProviderException rpe) { if (rpe.getExceptionType() == ExternalServiceExceptionType.UNAUTHORIZED) { logger.warn("Authentication failed. Username and/or password is incorrect for the REPOSITORY."); return; } else { logger.error("Error in logout",rpe); } } }
if ( searchUIConfig.requiresLogin() ) { try {