SUPPORT  :  NEBULAE MULTIUSER SERVER TECHNOTES :  NS004
 

Using an External SQL Database for User Authentication

 

Version 1.1 of Nebulae adds the ability to use the SQL gateway connection to authenticate users via an external SQL database. This is useful if other systems in your application require access to the user table, for example for a CGI script. To configure this option you need to edit the following directive in the Nebulae.cfg file:


UseSQLDatabaseForAuthentication = 1


When this option is enabled the SQL is used for user authentication to the Nebulae server instead of the built-in MUS DB. Nebulae expects that the external SQL database implements a table named USERS, and containing at least the following SQL fields:


ID INT, NAME VARCHAR, PASSWORD VARCHAR, USERLEVEL INT, LASTLOGIN VARCHAR


The USERS table may contain additional fields, but these are mandatory in order for Nebulae to be able to authenticate and update user information. To let Nebulae create this table for you just uncomment and edit the following line in Nebulae.cfg:


CreateSQLUserTable = 1


Finally you can also instruct Nebulae to add users to the SQL database automatically when the server starts:


CreateSQLUser = admin,pass,100

#-- Uncomment this line in order to create a user in the SQL database

#-- when the server starts. It is recommended that at least one

#-- user with administrative userlevel (100) is present so the

#-- server can be restarted and administered remotely.

#-- This option is only useful when an SQL database is being used for

#-- user authentication.


Important: User names in the USERS table are always stored in UPPERCASE, so make sure external programs use this convention when creating the users table. Nebulae will convert all login user names to uppercase for authentication when an user attempts to connect to the server.

 

 ID: PRODUCT: PLATFORM: VERSION: KEYWORDS: LAST UPDATED: AREA:
 NS004 Nebulae MultiUser Server All 1.1 SQL User Authentication January 25, 2002 Nebulae