de.tud.dvs1.mmpgp2p
Class SessionTicket

java.lang.Object
  extended by de.tud.dvs1.mmpgp2p.SessionTicket
All Implemented Interfaces:
java.io.Serializable

public class SessionTicket
extends java.lang.Object
implements java.io.Serializable

Ein gültiges Ticket enthält alle Informationen, die der Client benötigt, um sich bei den Region-Controllern zu authorisieren.

Hier können komplexe Strukturen eingebaut werden, um zu gewährleisten, dass niemand ein gültiges Ticket erlangen kann, der dazu nicht berechtigt ist.

See Also:
Serialized Form

Field Summary
 java.util.Date expireTime
           
 GameServerInfo gameServer
           
 java.util.Date issueTime
           
 RCPool regionControllers
           
 int sessionID
           
 java.lang.String sessionKey
           
 
Constructor Summary
SessionTicket()
           
SessionTicket(int id, java.lang.String key)
           
 
Method Summary
 java.util.Date getExpireTime()
           
 GameServerInfo getGameServer()
          Den zentralen Server zurückgeben.
 java.util.Date getIssueTime()
           
 RCPool getRegionControllers()
          Die initialen Region-Controllern zurückliefern
 int getSessionID()
          ID der Sitzung.
 java.lang.String getSessionKey()
          Schlüssel, der den Client gegenüber den Region-Controllern authentifiziert.
 boolean isValid()
          Ist das Ticket noch gültig?
 java.lang.String toString()
          Gib das Ticket menschenlesbar aus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

regionControllers

public RCPool regionControllers

gameServer

public GameServerInfo gameServer

issueTime

public java.util.Date issueTime

expireTime

public java.util.Date expireTime

sessionKey

public java.lang.String sessionKey

sessionID

public int sessionID
Constructor Detail

SessionTicket

public SessionTicket()

SessionTicket

public SessionTicket(int id,
                     java.lang.String key)
Method Detail

getRegionControllers

public RCPool getRegionControllers()
Die initialen Region-Controllern zurückliefern

Returns:
einen Array von RegionControllern

getGameServer

public GameServerInfo getGameServer()
Den zentralen Server zurückgeben.

Returns:
den Server, der dieses Ticket ausgestellt hat

getSessionID

public int getSessionID()
ID der Sitzung. Darf innerhalb eines Netzwerkes nur einmal vorkommen. Die ID dient zur schnellen identifizierung der Clients.

Returns:
die netzwerkweit eindeutige SessionID

getSessionKey

public java.lang.String getSessionKey()
Schlüssel, der den Client gegenüber den Region-Controllern authentifiziert. Ebenso dient er bei nachfolgenden Aufrufen sicherheitsrelevanter Funktionen auf dem Server zur Authentifizierung.

Tipp: an dieser Stelle kann man mit Public Key Infrastrukturen arbeiten, um ein Auslauschen der Kommunikation zu verhindern.

Returns:
einen Session-Schlüssel, ähnlich der SessionID

getIssueTime

public java.util.Date getIssueTime()
Returns:
Zeitpunkt der Ausstellung dieses Tickets

getExpireTime

public java.util.Date getExpireTime()
Returns:
Zeitpunkt der Ablaufs dieses Tickets

isValid

public boolean isValid()
Ist das Ticket noch gültig?

Returns:
true, falls Ticket gültig. False in anderen Fällen

toString

public java.lang.String toString()
Gib das Ticket menschenlesbar aus

Overrides:
toString in class java.lang.Object