public Class ProxyGrantingTicket
implements TicketGrantingTicket, DerivedTicket {
private final Date whenCreated = new Date();
private final Principal authenticatedUser;
private final ExpirationPolicy expPolicy;
private final ExpirationPolicyFactory expPolicyFactory;
private final TicketGrantingTicket parent;
public ProxyGrantingTicket(Principal proxyingService,
ExpirationPolicy expPolicy,
ExpirationPolicyFactory expPolicyFactory,
TicketGrantingTicket parent) {
this.authenticatedUser = authenticatedUser;
this.expPolicy = expPolicy;
this.expPolicyFactory = expPolicyFactory;
this.parent = parent;
}
public Principal getUser() {
return this.authenticatedUser;
}
public boolean isValid() {
return this.expPolicy.isValid();
}
public void expire() {
this.expPolicy.expire();
}
public TargettedTicket deriveTicket(URL target) {
return new TargettedTicketImpl(target, this, this.expPolicyFactory.buildPolicyInstance());
}
public TicketGrantingTicket getParant() {
return this.parent;
}
}
|