Table of Contents

User Management

This module exports functions that controls users declarations. User declarations are only allowd to executed when loading the RC file (see RC file).

Use require( hop.user ) to use it.

user.add( user )

Declares a new user in the Hop user database.

User identification is demanded by the Web server to reply to HTTP request. When the server receives a request, it first try to authenticate it. If the authentication fails, it responses with a 403 Forbidden response. Otherwise, it checks if the authentication user is allowed to be responded by checking the user services and user directories.

Note: The function user.add can only be called before the Hop server starts. It must then be called from the Hop rc-file, or from of the module required by hoprc.js, or from one of the modules mentionned on the command line. The rc-fileis loaded before the modules mentionned on the command line, so user.add instructions in user modules will overwrite conflicting rc-file instructions. The default location for the rc-fileis $HOME/.config/hop/hoprc.js, which can be changed using the --rc-file command line option.

The attributes of the user parameter are:

Example:

var hop = require( "hop" );
var user = require( hop.user );
var config = require( hop.config );

user.add( { name: "music-player",
            password: "+2606e88da9174caa886db5b916f3cd79",
            groups: [ "music" ],
            services: [ "public", "hopdac" ],
            directories: config.path.concat( [
               process.env.HOME + "/prgm/project/hop/weblets/hopdac",
               "/mmedia/music" ] )
          } );

user.encryptPassword( name, password )

Compute the encrypted password for user name and clear password.

Example:

user.encryptPassword( "dupont", "K555`!e" );

user.isClosed()

User is automatically closed after the RC files are read. The function user.isClosed() returns true from moment and until the end of the hop session. From the moment user.isClosed() is true, it is no longer possible to declare new users and calling user.add raises an exception.