User authentication using text files, Dets, or Mnesia database.
This module provides for basic user authentication using textual files, Dets databases, or Mnesia databases.
See also
Summary
Functions
add_group_member/3, add_group_member/4, and add_group_member/5 each adds
a user to a group. If the group does not exist, it is created and the user is
added to the group. Upon successful operation, this function returns true.
When add_group_members/3 is called, options Port and Dir are mandatory.
add_user(UserName, Password, UserData, Address, Port, Dir) -> true | {error, Reason}
delete_group/2, delete_group/3, and delete_group/4 each deletes the group
specified and returns true. If there is an error, {error, Reason} is
returned. When delete_group/2 is called, option Port and Dir are
mandatory.
delete_group_member/3, delete_group_member/4, and delete_group_member/5
each deletes a user from a group. If the group or the user does not exist, this
function returns an error, otherwise true. When delete_group_member/3 is
called, the options Port and Dir are mandatory.
delete_user/2, delete_user/3, and delete_user/4 each
deletes a user from the user database. If the operation is successful, this
function returns true. If an error occurs, {error, Reason} is returned. When
delete_user/2 is called, options Port and Dir are
mandatory.
get_user/2, get_user/3, and get_user/4 each returns an httpd_user/0
record containing the userdata for a specific user. If the user cannot be
found, {error, Reason} is returned. When get_user/2 is called, options
Port and Dir are mandatory.
list_group_members/2, list_group_members/3, and list_group_members/4 each
lists the members of a specified group. If the group does not exist or there is
an error, {error, Reason} is returned. When list_group_members/2 is called,
options Port and Dir are mandatory.
list_groups/1, list_groups/2, and list_groups/3 each lists all the groups
available. If there is an error, {error, Reason} is returned. When
list_groups/1 is called, options Port and Dir are mandatory.
list_users/1, list_users/2, and list_users/3 each returns a list of users
in the user database for a specific Port/Dir. When list_users/1 is called,
options Port and Dir are mandatory.
update_password/5 and update_password/6 each updates AuthAccessPassword
for the specified directory. If NewPassword is equal to "NoPassword", no
password is required to change authorisation data. If NewPassword is equal to
"DummyPassword", no changes can be done without changing the password first.
Types
Functions
Types
GroupName = UserName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = true | {error, Reason}
Reason = term()
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
add_group_member/3, add_group_member/4, and add_group_member/5 each adds
a user to a group. If the group does not exist, it is created and the user is
added to the group. Upon successful operation, this function returns true.
When add_group_members/3 is called, options Port and Dir are mandatory.
Types
UserName = Password = Directory = AuthPassword = string()
UserData = Reason = term()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = true | {error, Reason}
Options = [{password, Password} |
{userData, UserData} |
{port, Port} |
{addr, Address} |
{dir, Directory} |
{authPassword, AuthPassword}]
add_user(UserName, Password, UserData, Address, Port, Dir) -> true | {error, Reason}
add_user/2, add_user/5, and add_user/6 each adds a user to
the user database. If the operation is successful, this function returns true.
If an error occurs, {error, Reason} is returned. When
add_user/2 is called, options Password, UserData, Port,
and Dir are mandatory.
Types
GroupName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = true | {error, Reason}
Reason = term()
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
delete_group/2, delete_group/3, and delete_group/4 each deletes the group
specified and returns true. If there is an error, {error, Reason} is
returned. When delete_group/2 is called, option Port and Dir are
mandatory.
Types
GroupName = UserName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = true | {error, Reason}
Reason = term()
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
delete_group_member/3, delete_group_member/4, and delete_group_member/5
each deletes a user from a group. If the group or the user does not exist, this
function returns an error, otherwise true. When delete_group_member/3 is
called, the options Port and Dir are mandatory.
Types
UserName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = true | {error, Reason}
Reason = term()
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
delete_user/2, delete_user/3, and delete_user/4 each
deletes a user from the user database. If the operation is successful, this
function returns true. If an error occurs, {error, Reason} is returned. When
delete_user/2 is called, options Port and Dir are
mandatory.
Types
UserName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = {ok, User} | {error, Reason}
Reason = term()
User = httpd_user()
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
get_user/2, get_user/3, and get_user/4 each returns an httpd_user/0
record containing the userdata for a specific user. If the user cannot be
found, {error, Reason} is returned. When get_user/2 is called, options
Port and Dir are mandatory.
Types
GroupName = Directory = AuthPassword = string()
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Result = {ok, Users} | {error, Reason}
Reason = term()
Users = [httpd_user()]
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
list_group_members/2, list_group_members/3, and list_group_members/4 each
lists the members of a specified group. If the group does not exist or there is
an error, {error, Reason} is returned. When list_group_members/2 is called,
options Port and Dir are mandatory.
Types
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Directory = AuthPassword = string()
Result = {ok, Groups} | {error, Reason}
Reason = term()
Groups = [httpd_group()]
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
list_groups/1, list_groups/2, and list_groups/3 each lists all the groups
available. If there is an error, {error, Reason} is returned. When
list_groups/1 is called, options Port and Dir are mandatory.
Types
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Directory = AuthPassword = string()
Result = {ok, Users} | {error, Reason}
Reason = atom()
Users = [httpd_user()]
Options = [{port, Port} | {addr, Address} | {dir, Directory} | {authPassword, AuthPassword}]
list_users/1, list_users/2, and list_users/3 each returns a list of users
in the user database for a specific Port/Dir. When list_users/1 is called,
options Port and Dir are mandatory.
Types
Address = inet:ip4_address() | inet:ip6_address() | string() | undefined
Port = inet:port_number()
Dir = OldPassword = NewPassword = string()
Result = ok | {error, Reason}
Reason = term()
update_password/5 and update_password/6 each updates AuthAccessPassword
for the specified directory. If NewPassword is equal to "NoPassword", no
password is required to change authorisation data. If NewPassword is equal to
"DummyPassword", no changes can be done without changing the password first.