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-file
is 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-file
is $HOME/.config/hop/hoprc.js
, which can be changed
using the --rc-file
command line option.
The attributes of the user
parameter are:
name
: a string, the user name.uuid
: a optional string, a universal user ID.password
: the encrypted user password (seeuser.encryptPassword
).services
: either the string"*"
or an array of strings.directories
: either the string"*"
or an array of strings.groups
: an optional array of strings.preferencesFilename
: a optional string.
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.