From 0ecdfc26617ffc0b6714b64c0d97f34e2fe7c78d Mon Sep 17 00:00:00 2001 From: Ranjith Manickam Date: Wed, 8 Apr 2020 20:57:07 +0530 Subject: [PATCH] changes to support single-sign-on (sso) --- .../session/model/SingleSignOnEntry.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java b/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java index a364b6d..5f5fcde 100644 --- a/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java +++ b/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java @@ -78,16 +78,21 @@ public class SingleSignOnEntry implements Serializable { } public void writeObjectData(ObjectOutputStream out) throws IOException { - out.defaultWriteObject(); - out.writeBoolean(true); - out.writeObject(this.principal); + ObjectOutputStream outputStream = new ObjectOutputStream(out); + if (this.principal instanceof Serializable) { + outputStream.writeBoolean(true); + outputStream.writeObject(this.principal); + } else { + outputStream.writeBoolean(false); + } + outputStream.flush(); } public void readObjectData(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - boolean hasPrincipal = in.readBoolean(); + ObjectInputStream inputStream = new ObjectInputStream(in); + boolean hasPrincipal = inputStream.readBoolean(); if (hasPrincipal) { - this.principal = (Principal) in.readObject(); + this.principal = (Principal) inputStream.readObject(); } } }