This is  CAS  HazelCastTicketRegistry code, it is writing to HZ IMap
object, with TGT object.  I do not see any special code, it seems writing
the TGTTicketImpl object into Imap.

    public void addTicketInternal(final Ticket ticket) {
        val metadata = this.ticketCatalog.find(ticket);
        val ticketMap = getTicketMapInstanceByMetadata(metadata);
        if (ticketMap != null) {
            ticketMap.set(encTicket.getId(), encTicket, ttl,
TimeUnit.SECONDS);
        }
    }

On Mon, Feb 28, 2022 at 12:26 PM Ray Bon <[email protected]> wrote:

> Yan Zhou,
>
> I would think that cas prepares the tickets prior to sending them to
> hazelcast. Hazelcast should not need to know about the specifics of the
> data being stored.
>
> Ray
>
>
> On Mon, 2022-02-28 at 08:45 -0800, Yan Zhou wrote:
>
> Notice: This message was sent from outside the University of Victoria
> email system. Please be cautious with links and sensitive information.
>
> Hi,
>
> I realize what maybe happening,  the CAS documentation assumes embedded
> HZ, HZ  and CAS live in the same JVM and therefore having access to all CAS
> jars.
>
> But, our HZ is external to CAS,  multiple CAS apps point to the same HZ
> cluster running on separate VMs.  How do I know which jars to package and
> place under  HZ's lib directory to resolve all these errors?
>
> And further,  we have CAS5 and CAS6,  can I place the mix of cas5 and cas6
> jars under the same HZ lib without conflict?
>
> 2022-02-25 17:40:55 ERROR QueryPartitionOperation - 
> [devcas705.mdc.qdx.com]:5701
> [hz-nist-dev] [4.2] java.lang.ClassNotFoundException:
> org.apereo.cas.ticket.refreshtoken.OAuth20DefaultRefreshToken
>
> com.hazelcast.nio.serialization.HazelcastSerializationException:
> java.lang.ClassNotFoundException:
> org.apereo.cas.ticket.refreshtoken.OAuth20DefaultRefreshToken
>
>         at
> com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:90)
>
>         at
> com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:79)
>
>         at
> com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:44)
>
>         at
> com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:208)
>
>         at
> com.hazelcast.map.impl.record.Records.tryStoreIntoCache(Records.java:203)
>
>         at
> com.hazelcast.map.impl.record.Records.getValueOrCachedValue(Records.java:170)
>
>         at
> com.hazelcast.map.impl.query.PartitionScanRunner$1.accept(PartitionScanRunner.java:94)
>
>         at
> com.hazelcast.map.impl.query.PartitionScanRunner$1.accept(PartitionScanRunner.java:89)
>
>         at
> com.hazelcast.map.impl.recordstore.DefaultRecordStore.forEach(DefaultRecordStore.java:278)
>
>         at
> com.hazelcast.map.impl.recordstore.DefaultRecordStore.forEach(DefaultRecordStore.java:261)
>
>
> On Monday, February 28, 2022 at 11:11:44 AM UTC-5 Yan Zhou wrote:
>
> Hi there,
>
> Anyone having to deal with token/ticket storage that require serializing
> CAS objects like Hazelcast?
>
> For instance, TGT, ST, OIDC RT/AT all go to Hazelcast ticket registry,
> which requires to serialize any objects put on IMap.
>
> Would I have to package all jars containing these class and place on
> hazelcast lib folder?
>
> These classes are non-trivial, always have a tree of other objects,  how
> do you deal with
> that?
>
> Below is an example of TGT in CAS5, let alone the other objects in
> CAS5/CAS6, etc.
>
> Thanks,
> Yan
>
>
> public class TicketGrantingTicketImpl extends AbstractTicket implements
> TicketGrantingTicket {
>
>     /**
>      * Unique Id for serialization.
>      */
>     private static final long serialVersionUID = -8608149809180911599L;
>
>     /**
>      * The authenticated object for which this ticket was generated for.
>      */
>     @Lob
>     @Column(name = "AUTHENTICATION", nullable = false, length =
> Integer.MAX_VALUE)
>     private Authentication authentication;
>
> --
>
> Ray Bon
> Programmer Analyst
> Development Services, University Systems
> 2507218831 | CLE 019 | [email protected]
>
> I acknowledge and respect the lək̓ʷəŋən peoples on whose traditional
> territory the university stands, and the Songhees, Esquimalt and WSÁNEĆ
> peoples whose historical relationships with the land continue to this day.
>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAFSoZem9v3yrPqxOpaqoiBns_dqkcp%2B1yzX9wmcVh2EgNKT1Bg%40mail.gmail.com.

Reply via email to