The Java Cells Login

The LoginManager

The login manager essentially listens on a tcp port. On a connection requests it talks one of the specified protocols with the connecting client, using a customizable authentication scheme and on sucess it forks a specified cell, the LoginCell.

dmg.cells.services.login.LoginManager

The LoginManager takes 2 mandetory arguments and two options. The residual arguments and the options are passed to the LoginCell and the Authentication modules.
The arguments are :
portNumber The tcp listen port
loginCellClass The cell class which has to be started, if the authetication protocol was sucessful.
The options are :
-prot= the protocol the client is assumed to talk. Currently telnet and raw are supported.
-auth= the class which is used to authenticate the client.
Because of the fact, that different protocols may need different information, there is no standard interface which is valid for all supported protocol types.
Protocol Authenticaton module must implement Default Authentication module
raw - -
telnet TelnetServerAuthentication dmg.cells.services.login.TelnetSAuth_A

The Authentication Module

The authentication module is responsible for getting all the information needed by the protocol engine to authenticate the connecting client.

dmg.cells.services.login.TelnetSAuth_A

The TelnetSAuth_A authentication module is responsible for authenticating clients talking the telnet protocol. The module supports several authentication modes. If more than one of the above options are specified, the result is unpredictable.

The Login Cell

The Login Cell is forked if the authentication/authorisation could be finished sucessfully. The specified class is checked for the following constructors in exactly this order.

String cellName , dmg.util.StreamEngine engine
String cellName, dmg.util.StreamEngine engine, dmg.util.Args args

If the newly started cell provides the setPrintoutLevel method, it is called with the current printoutvalue of the LoginManager.

dmg.cells.services.StreamLoginCell