Expires change to Seconds
This commit is contained in:
@@ -119,8 +119,8 @@ public class CasAuthorizeEndpoint extends CasBaseAuthorizeEndpoint{
|
||||
HttpServletResponse response){
|
||||
AppsCasDetails casDetails = (AppsCasDetails)WebContext.getAttribute(CasConstants.PARAMETER.ENDPOINT_CAS_DETAILS);
|
||||
ServiceTicketImpl serviceTicket = new ServiceTicketImpl(WebContext.getAuthentication(),casDetails);
|
||||
|
||||
String ticket = ticketServices.createTicket(serviceTicket);
|
||||
|
||||
String ticket = ticketServices.createTicket(serviceTicket,casDetails.getExpires());
|
||||
|
||||
StringBuffer callbackUrl = new StringBuffer(casDetails.getCallbackUrl());
|
||||
if(casDetails.getCallbackUrl().indexOf("?")==-1) {
|
||||
|
||||
@@ -54,6 +54,35 @@ public abstract class RandomServiceTicketServices implements TicketServices {
|
||||
return ticketId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createTicket(Ticket ticket, int validitySeconds) {
|
||||
|
||||
//String code = generator.generate();
|
||||
/*
|
||||
* replace with uuid random code
|
||||
* add by Crystal.Sea
|
||||
*/
|
||||
//String ticket = UUID.randomUUID().toString();
|
||||
String ticketId = "";
|
||||
if(ticket.getClass().getSimpleName().equalsIgnoreCase("ServiceTicketImpl")){
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.SERVICE_TICKET_PREFIX);
|
||||
}else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyTicketImpl")){
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_TICKET_PREFIX);
|
||||
}else if(ticket.getClass().getSimpleName().equalsIgnoreCase("TicketGrantingTicketImpl")){
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.TICKET_GRANTING_TICKET_PREFIX);
|
||||
}else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketImpl")){
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_PREFIX);
|
||||
}else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketIOUImpl")){
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_IOU_PREFIX);
|
||||
return ticketId;
|
||||
}else {
|
||||
ticketId = generator.getNewTicketId(CasConstants.PREFIX.SERVICE_TICKET_PREFIX);
|
||||
}
|
||||
|
||||
store(ticketId, ticket,validitySeconds);
|
||||
return ticketId;
|
||||
}
|
||||
|
||||
public Ticket consumeTicket(String ticketId) throws Exception{
|
||||
Ticket ticket = this.remove(ticketId);
|
||||
if (ticket == null) {
|
||||
|
||||
@@ -26,6 +26,8 @@ public interface TicketServices {
|
||||
* @return The generated code.
|
||||
*/
|
||||
String createTicket(Ticket ticket);
|
||||
|
||||
String createTicket(Ticket ticket , int validitySeconds);
|
||||
|
||||
/**
|
||||
* Consume a authorization code.
|
||||
@@ -38,6 +40,8 @@ public interface TicketServices {
|
||||
throws Exception;
|
||||
|
||||
public void store(String ticketId, Ticket ticket);
|
||||
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds);
|
||||
|
||||
public Ticket remove(String ticket);
|
||||
|
||||
|
||||
@@ -36,6 +36,11 @@ public class InMemoryProxyGrantingTicketServices extends RandomServiceTicketServ
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
store(ticketId, ticket , 60 * 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
casTicketStore.put(ticketId, ticket);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,8 +52,13 @@ public class RedisProxyGrantingTicketServices extends RandomServiceTicketService
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
store(ticketId,ticket,serviceTicketValiditySeconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
RedisConnection conn=connectionFactory.getConnection();
|
||||
conn.setexObject(PREFIX+ticketId, serviceTicketValiditySeconds, ticket);
|
||||
conn.setexObject(PREFIX+ticketId, validitySeconds, ticket);
|
||||
conn.close();
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,11 @@ public class InMemoryTicketServices extends RandomServiceTicketServices {
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
store(ticketId, ticket, 60 * 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
casTicketStore.put(ticketId, ticket);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,9 +52,15 @@ public class RedisTicketServices extends RandomServiceTicketServices {
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
store(ticketId,ticket,serviceTicketValiditySeconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
RedisConnection conn=connectionFactory.getConnection();
|
||||
conn.setexObject(prefixTicketId(ticketId), serviceTicketValiditySeconds, ticket);
|
||||
conn.setexObject(prefixTicketId(ticketId), validitySeconds, ticket);
|
||||
conn.close();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,7 +35,13 @@ public class InMemoryTicketGrantingTicketServices extends RandomServiceTicketSer
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
casTicketGrantingTicketStore.put(ticketId, ticket);
|
||||
store(ticketId, ticket , 60 * 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
casTicketGrantingTicketStore.put(ticketId, ticket);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -51,8 +51,13 @@ public class RedisTicketGrantingTicketServices extends RandomServiceTicketServic
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket) {
|
||||
store(ticketId, ticket, serviceTicketValiditySeconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void store(String ticketId, Ticket ticket, int validitySeconds) {
|
||||
RedisConnection conn=connectionFactory.getConnection();
|
||||
conn.setexObject(PREFIX+ticketId, serviceTicketValiditySeconds, ticket);
|
||||
conn.setexObject(PREFIX+ticketId, validitySeconds, ticket);
|
||||
conn.close();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user