SQLData Systems, Inc.
Home | Products | Services | Documents | Support

            User Validation and Access Control

The server uses both password and the access control to make sure user has sufficient rights to access the server functions.
 

Password

Each user can have a password assigned by the administrator. The password file is usually stored in the CONFIG directory. Password file contains basic user information and an encrypted digest.
 

  • Create a new user file:  Go to the Server Administration section, and select Create New User File. You must specify the user file name and the administrators name and password here.
  • Add new user: Select the Add New User from the Server Administration section. Each user must have a group. each user group has specific access rights assigned in the server configuration file. We will discuss this later. Only the administrators can add new users.
  • Revoke User: This remove the user from access the server.
  • Change Password: Old password is required for changing password. If the password is forgotten, a new user needs to be created.

 

User management messages

The above functions are accomplished through User Management Messages. User management messages is a subset of Admin messages. The action parameter should be /admin in the HTTP form. There is a Request parameter for user management which specify the detailed request such as Add User, Revoke User, and so on.
 

Create New User File

    The following is a sample form for send the message, the size of the text box is unimportant:

<FORM METHOD=POST ACTION="/admin">
<INPUT TYPE=hidden Name="Request" VALUE="NewUserFile">

<PRE>
User File Name       : <INPUT NAME="FileName" TYPE=text SIZE="30">
Admin Name           : <INPUT NAME="AdminName" TYPE=text SIZE="30">
Admin Password       : <INPUT NAME="AdminPassword" TYPE=password SIZE="30">
Password Confirmation: <INPUT NAME="PasswordConfirm" TYPE=password SIZE="30">

</PRE>

<P><INPUT TYPE=submit><INPUT TYPE=reset></FORM></P>

Add New User

    The following form sends a request for add a new user.

<FORM METHOD=POST ACTION="/admin">
<INPUT TYPE=hidden Name="Request" VALUE="AddUser">

<PRE>
User Name            : <INPUT NAME="UserName" TYPE=text SIZE="30">
Description            : <INPUT NAME="Description" TYPE=text SIZE="30">
Password             : <INPUT NAME="Password" TYPE=password SIZE="30">
Password confirmation: <INPUT NAME="PasswordConfirm" TYPE=password SIZE="30">
User right (s|o|m)   : <INPUT NAME="Rights" TYPE=text SIZE="30">
Admin Name           : <INPUT NAME="AdminName" TYPE=text SIZE="30">
Admin Password       : <INPUT NAME="AdminPassword" TYPE=password SIZE="30">

</PRE>

<P><INPUT TYPE=submit><INPUT TYPE=reset></FORM></P>

Revoke User

    The user is removed from the password file if the message is processed successfully.

<HR><FORM METHOD=POST ACTION="/admin">
<INPUT TYPE=hidden Name="Request" VALUE="DeleteUser">

<PRE>
User Name            : <INPUT NAME="UserName" TYPE=text Size="30">
Admin Name           : <INPUT NAME="AdminName" TYPE=text Size="30">
Admin Password       : <INPUT NAME="AdminPassword" TYPE=password SIZE="30">

</PRE>

<P><INPUT TYPE=submit><INPUT TYPE=reset></FORM></P>

Change Password

This message is actually not a user access control message, it will be moved out of the group soon. (You will need administrators privilege in order to change your password :-).

<HR><FORM METHOD=POST ACTION="/admin">
<INPUT TYPE=hidden Name="Request" VALUE="ChangePassword">

<PRE>
User Name            : <INPUT NAME="UserName" TYPE=text SIZE="30">
New Password         : <INPUT NAME="Password" TYPE=password SIZE="30">
Password confirmation : <INPUT NAME="PasswordConfirm" TYPE=password SIZE="30">
Old Password         : <INPUT NAME="OldPassword" TYPE=password SIZE="30">

</PRE>

<P><INPUT TYPE=submit><INPUT TYPE=reset></FORM></P>
 
 
 

User Groups and Privilege Assignment

User group can be defined easily in the server configuration file. A group name is a single character (This is is so for implementing users in multiple groups). It can be a-z and 0-9, so we have 36 user groups. The format is something like this:
 

[UserGroup]
 ;Administrator
 @s=rwem
 ;Operator
 @o=rw
 ;normal user
 @u=rw

Note that an @ sign is added to the group name to avoid name collision. for instance, we define

        @s=rwem

as administrator. it has r = "read", w="write", e="execute" and m="management" access rights. The access letter are totally arbitrary as long as it matches the privilage associated with the request, which is specified similar to  the following:

[OperationRights]
 ; rights associated with operations
 @ShowFile= r
 @Query= r
 @RecordQuery= r
 @AdminQuery= rwe
 @BrowseQuery= r
 @SQL= e
 @ShowTables= r
 @Insert= e
 @Update = w
 @Delete = e
 @Browse = r
 @AddForm = e
 @Detail = r
 @Display = r
 @GetCA = r
 @GetCertificate=r
 @FindObject = r
 @GenerateHTML = ew
 @UpdateConfig = rwem
 @Admin = rwem
 

On the left side of the equal sign is the name of the request, on the right side is the privilage required. For instance
    @Admin=rwem

matches the Administrators rights in the user group.

For example, if you want to give SQL Insert a special privilege assignment to limit such action, you would assign it a new access letter, lets say 'i' and change @Insert= e to
            @insert = i

in the OperationRight section. If you want give such a right only to the administrators, you would change the @s in the user group to:
        @a=rwemi
note that the last letter i assign the SQL Insert right to the administrators.

You can add more operations and new user groups by simply editing the server configuration file.
 
 
 
 
 

Download | Purchase | ContactFeedback


Send mail to  info2-at-sqldata-dot-com with questions or comments about this web site.
Copyright 2008-2010 SQLData Systems, Inc.
Last modified: July 10, 2010