diff --git a/src/java/com/threerings/presents/net/AuthResponse.java b/src/java/com/threerings/presents/net/AuthResponse.java index 0a7250a08..46d0a29da 100644 --- a/src/java/com/threerings/presents/net/AuthResponse.java +++ b/src/java/com/threerings/presents/net/AuthResponse.java @@ -1,5 +1,5 @@ // -// $Id: AuthResponse.java,v 1.15 2004/08/27 02:20:21 mdb Exp $ +// $Id$ // // Narya library - tools for developing networked games // Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved @@ -30,6 +30,13 @@ package com.threerings.presents.net; */ public class AuthResponse extends DownstreamMessage { + /** Auxilliary authentication data to be communicated to the {@link + * PresentsClient} once a session is started. This is a means by which + * the Authenticator can pass information loaded from, + * say, an authentication database into the runtime system to be used, + * for example for permissions. */ + public transient Object authdata; + /** * Zero argument constructor used when unserializing an instance. */ diff --git a/src/java/com/threerings/presents/server/ClientManager.java b/src/java/com/threerings/presents/server/ClientManager.java index 16bed512f..ba0f08b66 100644 --- a/src/java/com/threerings/presents/server/ClientManager.java +++ b/src/java/com/threerings/presents/server/ClientManager.java @@ -297,7 +297,7 @@ public class ClientManager try { // create a client and start up its session client = (PresentsClient)_clientClass.newInstance(); - client.startSession(this, creds, conn); + client.startSession(this, creds, conn, rsp.authdata); // map their client instance _usermap.put(username, client); diff --git a/src/java/com/threerings/presents/server/PresentsClient.java b/src/java/com/threerings/presents/server/PresentsClient.java index 6057d3a39..30e4066d2 100644 --- a/src/java/com/threerings/presents/server/PresentsClient.java +++ b/src/java/com/threerings/presents/server/PresentsClient.java @@ -276,10 +276,11 @@ public class PresentsClient * connection instance and client object and begins a client session. */ protected void startSession ( - ClientManager cmgr, Credentials creds, Connection conn) + ClientManager cmgr, Credentials creds, Connection conn, Object authdata) { _cmgr = cmgr; _creds = creds; + _authdata = authdata; setConnection(conn); // obtain our starting username @@ -907,6 +908,7 @@ public class PresentsClient protected ClientManager _cmgr; protected Credentials _creds; + protected Object _authdata; protected Name _username; protected Connection _conn; protected ClientObject _clobj;