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.