Revision: 2279
Author: olavmrk
Date: Tue May  4 04:11:13 2010
Log: sqlauth: Add documentation.
http://code.google.com/p/simplesamlphp/source/detail?r=2279

Added:
 /trunk/modules/sqlauth/docs
 /trunk/modules/sqlauth/docs/sql.txt
Modified:
 /trunk/docs/simplesamlphp-idp.txt
 /trunk/modules/sqlauth/lib/Auth/Source/SQL.php

=======================================
--- /dev/null
+++ /trunk/modules/sqlauth/docs/sql.txt Tue May  4 04:11:13 2010
@@ -0,0 +1,77 @@
+`sqlauth:SQL`
+=============
+
+This is a authentication module for authenticating an user against a SQL database.
+
+
+Options
+-------
+
+`dsn`
+:   The DSN which should be used to connect to the database server.
+ Check the various database drivers in the [PHP documentation](http://php.net/manual/en/pdo.drivers.php) for a description of the various DSN formats.
+
+`username`
+: The username which should be used when connecting to the database server.
+
+
+`password`
+: The password which should be used when connecting to the database server.
+
+`query`
+:   The SQL query which should be used to retrieve the user.
+    The parameters :username and :password are available.
+    If the username/password is incorrect, the query should return no rows.
+    The name of the columns in resultset will be used as attribute names.
+ If the query returns multiple rows, they will be merged into the attributes.
+    Duplicate values and NULL values will be removed.
+
+
+Examples
+--------
+
+Database layout used in examples:
+
+    CREATE TABLE users (
+      username VARCHAR(30) NOT NULL PRIMARY KEY,
+      password TEXT NOT NULL,
+      name TEXT NOT NULL,
+      email TEXT NOT NULL
+    );
+    CREATE TABLE usergroups (
+ username TEXT REFERENCES users (username) ON DELETE CASCADE ON UPDATE CASCADE,
+      groupname TEXT,
+      UNIQUE(username, groupname)
+    );
+
+Example - simple setup, PostgreSQL server:
+
+    'sql-exampleorg' => array(
+      'sqlauth:SQL',
+      'dsn' => 'pgsql:host=sql.example.org;port=5432;dbname=simplesaml',
+      'username' => 'userdb',
+      'password' => 'secretpassword',
+ 'query' => 'SELECT username, name, email FROM users WHERE username = :username AND password = :password',
+    ),
+
+Example - multiple groups, MySQL server:
+
+    'sql-exampleorg-groups' => array(
+      'sqlauth:SQL',
+      'dsn' => 'mysql:host=sql.example.org;dbname=simplesaml',
+      'username' => 'userdb',
+      'password' => 'secretpassword',
+ 'query' => 'SELECT users.username, name, email, groupname AS groups FROM users LEFT JOIN usergroups ON users.username=usergroups.username WHERE users.username = :username AND password = :password',
+    ),
+
+Example query - MD5 of salt + password, stored as salt + md5(salt + password) in password-field, MySQL server:
+
+    SELECT username, name, email
+    FROM users
+ WHERE username = :username AND SUBSTRING(password, -32) = MD5(CONCAT(SUBSTRING(password, 1, LENGTH(password) - 32), :password))
+
+Example query - MD5 of salt + password, stored as salt + md5(salt + password) in password-field, PostgreSQL server:
+
+    SELECT username, name, email
+    FROM users
+ WHERE username = :username AND SUBSTRING(password FROM LENGTH(password) - 31) = MD5(SUBSTRING(password FROM 1 FOR LENGTH(password) - 32) || :password)
=======================================
--- /trunk/docs/simplesamlphp-idp.txt   Thu Apr 22 22:45:38 2010
+++ /trunk/docs/simplesamlphp-idp.txt   Tue May  4 04:11:13 2010
@@ -40,8 +40,8 @@
 [`ldap:LDAPMulti`](./ldap:ldap)
 : Authenticates an user to one of several LDAP server.
   The user can choose the LDAP server from a dropdown list.
-
-`sqlauth:SQL`
+
+[`sqlauth:SQL`](./sqlauth:sql)
 : Authenticate an user against a database.

 [`radius:Radius`](./radius:radius)
=======================================
--- /trunk/modules/sqlauth/lib/Auth/Source/SQL.php      Thu Sep 17 03:52:58 2009
+++ /trunk/modules/sqlauth/lib/Auth/Source/SQL.php      Tue May  4 04:11:13 2010
@@ -6,60 +6,6 @@
* This class is an example authentication source which authenticates an user
  * against a SQL database.
  *
- * The following options are required:
- * It has the following options:
- * - dsn: The DSN which should be used to connect to the database server. Check the various - * database drivers in http://php.net/manual/en/pdo.drivers.php for a description of
- *        the various DSN formats.
- * - username: The username which should be used when connecting to the database server. - * - password: The password which should be used when connecting to the database server. - * - query: The SQL query which should be used to retrieve the user. The parameters :username - * and :password are available. If the username/password is incorrect, the query should - * return no rows. The name of the columns in resultset will be used as attribute names. - * If the query returns multiple rows, they will be merged into the attributes. Duplicate
- *          values and NULL values will be removed.
- *
- * Database layout used in examples:
- * CREATE TABLE users (
- *   username VARCHAR(30) NOT NULL PRIMARY KEY,
- *   password TEXT NOT NULL,
- *   name TEXT NOT NULL,
- *   email TEXT NOT NULL
- * );
- * CREATE TABLE usergroups (
- * username TEXT REFERENCES users (username) ON DELETE CASCADE ON UPDATE CASCADE,
- *   groupname TEXT,
- *   UNIQUE(username, groupname)
- * );
- *
- * Example - simple setup, PostgreSQL server:
- * 'sql-exampleorg' => array(
- *   'sqlauth:SQL',
- *   'dsn' => 'pgsql:host=sql.example.org;port=5432;dbname=simplesaml',
- *   'username' => 'userdb',
- *   'password' => 'secretpassword',
- * 'query' => 'SELECT username, name, email FROM users WHERE username = :username AND password = :password',
- * ),
- *
- * Example - multiple groups, MySQL server:
- * 'sql-exampleorg-groups' => array(
- *   'sqlauth:SQL',
- *   'dsn' => 'mysql:host=sql.example.org;dbname=simplesaml',
- *   'username' => 'userdb',
- *   'password' => 'secretpassword',
- * 'query' => 'SELECT users.username, name, email, groupname AS groups FROM users LEFT JOIN usergroups ON users.username=usergroups.username WHERE users.username = :username AND password = :password',
- * ),
- *
- * Example query - MD5 of salt + password, stored as salt + md5(salt + password) in password-field, MySQL server:
- * SELECT username, name, email
- * FROM users
- * WHERE username = :username AND SUBSTRING(password, -32) = MD5(CONCAT(SUBSTRING(password, 1, LENGTH(password) - 32), :password))
- *
- * Example query - MD5 of salt + password, stored as salt + md5(salt + password) in password-field, PostgreSQL server:
- * SELECT username, name, email
- * FROM users
- * WHERE username = :username AND SUBSTRING(password FROM LENGTH(password) - 31) = MD5(SUBSTRING(password FROM 1 FOR LENGTH(password) - 32) | | :password)
- *
  * @package simpleSAMLphp
  * @version $Id$
  */

--
You received this message because you are subscribed to the Google Groups 
"simpleSAMLphp commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/simplesamlphp-commits?hl=en.

Reply via email to