diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java index fefbfe7d..006b44ed 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java @@ -64,10 +64,15 @@ public class RedisSessionManager implements SessionManager { @Override public void create(String sessionId, Session session) { + _logger.debug("store session key {} .",sessionId); session.setExpiredTime(session.getLastAccessTime().plusSeconds(validitySeconds)); RedisConnection conn = connectionFactory.getConnection(); + _logger.trace("store session {} ...",sessionId); conn.setexObject( getKey(sessionId), validitySeconds, session); + _logger.debug("store session {} successful .",sessionId); + _logger.trace("close conn ..."); conn.close(); + _logger.trace("close conn successful ."); } @Override diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnection.java b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnection.java index daa928ee..a745980f 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnection.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnection.java @@ -79,11 +79,13 @@ public class RedisConnection { * @param value */ public void setex(String key,long seconds, String value){ + _logger.trace("setex key {} ..." , key); if(seconds==0){ conn.setex(key, RedisConnectionFactory.DEFAULT_CONFIG.DEFAULT_LIFETIME, value); }else{ conn.setex(key, seconds, value); } + _logger.trace("setex successful ."); } @@ -92,6 +94,7 @@ public class RedisConnection { * @return String */ public String get(String key){ + _logger.trace("get key {} ..." , key); String value = null; if(key != null){ value = conn.get(key); @@ -115,16 +118,19 @@ public class RedisConnection { } public void expire(String key,long seconds){ + _logger.trace("expire key {} , {}" , key , seconds); conn.expire(key, seconds); } public void delete(String key){ + _logger.trace("del key {}" , key); conn.del(key); } public void rPush(String key, Serializable object){ conn.rpush(key, ObjectTransformer.serialize(object)); } + public long lRem(String key,int count,String value){ return conn.lrem(key, count, value); } diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java index 501bd0de..9764d5df 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java @@ -17,12 +17,16 @@ package org.maxkey.persistence.redis; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class RedisConnectionFactory { - + private static final Logger _logger = LoggerFactory.getLogger(RedisConnectionFactory.class); + public static class DEFAULT_CONFIG { /** * Redis默认服务器IP @@ -79,6 +83,7 @@ public class RedisConnectionFactory { public void initConnectionFactory() { if (jedisPool == null) { + _logger.debug("init Jedis Pool ."); try { if (this.hostName == null || hostName.equals("")) { hostName = DEFAULT_CONFIG.DEFAULT_ADDRESS; @@ -94,26 +99,35 @@ public class RedisConnectionFactory { this.password = null; } jedisPool = new JedisPool(poolConfig, hostName, port, timeOut, password); - + _logger.debug("init Jedis Pool successful ."); } catch (Exception e) { e.printStackTrace(); + _logger.error("Exception", e); } } } public synchronized RedisConnection getConnection() { initConnectionFactory(); + _logger.trace("get connection ."); RedisConnection redisConnection = new RedisConnection(this); + _logger.trace("return connection ."); return redisConnection; } public Jedis open() { - return jedisPool.getResource(); + _logger.trace("get jedisPool Resource ..."); + Jedis jedis = jedisPool.getResource(); + _logger.trace("return jedisPool Resource ."); + return jedis; + } public void close(Jedis conn) { // jedisPool.returnResource(conn); + _logger.trace("close conn ."); conn.close(); + _logger.trace("closed conn ."); } diff --git a/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/authz/cas/endpoint/CasAuthorizeEndpoint.java b/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/authz/cas/endpoint/CasAuthorizeEndpoint.java index d7f2e923..41e40ec1 100644 --- a/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/authz/cas/endpoint/CasAuthorizeEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/authz/cas/endpoint/CasAuthorizeEndpoint.java @@ -122,8 +122,10 @@ public class CasAuthorizeEndpoint extends CasBaseAuthorizeEndpoint{ AppsCasDetails casDetails = (AppsCasDetails)WebContext.getAttribute(CasConstants.PARAMETER.ENDPOINT_CAS_DETAILS); ServiceTicketImpl serviceTicket = new ServiceTicketImpl(AuthorizationUtils.getAuthentication(),casDetails); - + + _logger.trace("CAS start create ticket ... "); String ticket = ticketServices.createTicket(serviceTicket,casDetails.getExpires()); + _logger.trace("CAS ticket {} created . " , ticket); StringBuffer callbackUrl = new StringBuffer(casDetails.getCallbackUrl()); if(casDetails.getCallbackUrl().indexOf("?")==-1) { @@ -153,12 +155,17 @@ public class CasAuthorizeEndpoint extends CasBaseAuthorizeEndpoint{ } if(casDetails.getLogoutType()==LogoutType.BACK_CHANNEL) { + _logger.debug("CAS LogoutType BACK_CHANNEL ... "); String sessionId = AuthorizationUtils.getPrincipal().getSession().getId(); + _logger.trace("get session by id {} . ",sessionId); Session session = sessionManager.get(sessionId); + _logger.trace("current session {} ",session); //set cas ticket as OnlineTicketId casDetails.setOnlineTicket(ticket); session.setAuthorizedApp(casDetails); + _logger.trace("session store ticket {} .",ticket); sessionManager.create(sessionId, session); + _logger.debug("CAS LogoutType session store ticket to AuthorizedApp ."); } _logger.debug("redirect to CAS Client URL {}" , callbackUrl);