Ice Reference Documentation
<<< Previous | Slice Documentation | Next >>>

# `Glacier2::Router`

## Overview

    interface Router
        extends
    	::Ice::Router

The Glacier2 specialization of the standard Ice router interface.

### Operation Index

`createSession`

  Create a per-client session with the router.

`destroySession`

  Destroy the calling client's session with this router.

## `createSession`

    Session* createSession(string userId,
        string password)
        throws
    	PermissionDeniedException,
    	CannotCreateSessionException;

Create a per-client session with the router. If a `SessionManager` has been installed, a proxy to a `Session` object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

### Parameters

`userId`

  The user id for which to check the password.

`password`

  The password for the given user id.

### Return Value

A proxy for the newly created session, or null if no `SessionManager` has been installed.

### Exceptions

`PermissionDeniedException`

  Raised if the password for the given user id is not correct, or if the user is not allowed access.

`CannotCreateSessionException`

  Raised if the session cannot be created.

### See Also

`Session`, `SessionManager`, `PermissionsVerifier`

## `destroySession`

    [ "amd" ]
    void destroySession()
        throws
    	SessionNotExistException;

Destroy the calling client's session with this router.

### Exceptions

`SessionNotExistException`

  Raised if no session exists for the calling client.

<<< Previous | Home | Next >>>
`Glacier2::PermissionsVerifier` | Up | `Glacier2::Session`