Users

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Commands)
Line 1: Line 1:
  
 
This module configures the database account name and users management (add, update, remove and retrieve queries).
 
This module configures the database account name and users management (add, update, remove and retrieve queries).
 +
 +
'''Note:''' All database queries are done with PostgreSQL.
 +
 +
===Example of create table users ===
 +
 +
CREATE TABLE users (
 +
      username text NOT NULL,
 +
      password text,
 +
);
 +
ALTER TABLE public.users OWNER TO postgres;
 +
 +
===Example of stored procedure for add_user===
 +
 +
CREATE FUNCTION user_add(text, text) RETURNS integer
 +
    AS $_$
 +
DECLARE
 +
    _username ALIAS FOR $1;
 +
    _password ALIAS FOR $2;
 +
    n integer;
 +
BEGIN
 +
    SELECT INTO n COUNT(*) FROM users WHERE username=_username;
 +
    IF n > 0 THEN
 +
n := 0;
 +
    ELSE
 +
INSERT INTO users (username,password) VALUES (_username,_password);
 +
n := 1;
 +
    END IF;
 +
    RETURN n;
 +
END;
 +
$_$
 +
    LANGUAGE plpgsql;
  
 
=== Configuration ===
 
=== Configuration ===
Line 29: Line 60:
 
  ; select_user: string: Database query used to retrieve user's data
 
  ; select_user: string: Database query used to retrieve user's data
 
  ;select_user=SELECT * FROM users WHERE username='${user}'
 
  ;select_user=SELECT * FROM users WHERE username='${user}'
 
  
 
===Commands===
 
===Commands===

Revision as of 17:44, 4 June 2013

This module configures the database account name and users management (add, update, remove and retrieve queries).

Note: All database queries are done with PostgreSQL.

Contents

Example of create table users

CREATE TABLE users (
     username text NOT NULL,
     password text,
);
ALTER TABLE public.users OWNER TO postgres;

Example of stored procedure for add_user

CREATE FUNCTION user_add(text, text) RETURNS integer
   AS $_$
DECLARE
   _username ALIAS FOR $1;
   _password ALIAS FOR $2;
   n integer;
BEGIN
   SELECT INTO n COUNT(*) FROM users WHERE username=_username;
   IF n > 0 THEN
	n := 0;
   ELSE
	INSERT INTO users (username,password) VALUES (_username,_password);
	n := 1;
   END IF;
   RETURN n;
END;
$_$
   LANGUAGE plpgsql;

Configuration

File users.conf

; This file configures the users management module

[database]
; This section configures user management database access

; account: string: The name of the database account
;account=

; add_user: string: Database query used to add a new user
; The query should fail if the user already exists
; Extra care must be taken when building this query: undesirable things may happen
;  like replacing an existing user's password or adding a duplicate, unreachable,
;  entry in the users table
;add_user=SELECT * FROM user_add('${user}','${password}')
 
; update_user: string: Database query used to update an existing user
;update_user=UPDATE users SET password='${password}' WHERE username='${user}'

; remove_user: string: Database query used to delete an existing user
;remove_user=DELETE FROM users WHERE username='${user}'

; select_user: string: Database query used to retrieve user's data
;select_user=SELECT * FROM users WHERE username='${user}'

Commands

From telnet the command can be used to add/delete/update a user:

users {add user [parameter=value...]|delete user|update user [parameter=value...]}


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers