X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=caf.pod;h=4277923aa9603f782c7a643aaa358d3d9cccdbe6;hp=e93beb29e3df2135ec909003dd80f480d9702ff3;hb=52e25ce84bfd2d237e5a51dd4637da51104fa26c;hpb=e08366d69f299c58c79213df79c0378c34067964;ds=sidebyside diff --git a/caf.pod b/caf.pod index e93beb2..4277923 100644 --- a/caf.pod +++ b/caf.pod @@ -618,8 +618,8 @@ any tags. =item C -The secret cookie which should be set along with whatever response is -sent to the client. The value in the hash is the actual secret value +The login cookie which should be set along with whatever response is +sent to the client. The value in the hash is the actual value of the cookie as a string. C means no cookie setting header should be sent; C<''> means the cookie should be cleared. @@ -752,7 +752,7 @@ path settings are relative values. Must be an absolute filename. -=item C +=item C CGI::Auth::Flexible needs a database for recording users' login session. This database needs to be shared across all instances of the @@ -766,26 +766,26 @@ particular, there is no need for transactional integrity across changes made by CAF and your own application.) By default, CAF uses a sqlite3 database stored on local disk in the -file named by C. This will be suitable for all +file named by C. This will be suitable for all applications which run on a single host. This value, if supplied, should be a DBI handle for the database. -=item C +=item C This is the DSN to pass to C<< DBI->connect >>. Used only if -C is not supplied. +C is not supplied. -=item C +=item C Path to the sqlite3 database used for CAF's session storage. The -default is currently C but will change in the future. +default is C. -Used only if neither C or C are supplied. +Used only if neither C or C are supplied. If this is a relative path, it is in C. -=item C +=item C Prefix for the SQL tables and indices to use (and to create, if necessary). @@ -1311,12 +1311,27 @@ your application runs on multiple frontend hosts with a shared database, you may need to create for yourself the tables and indices used by CGI::Auth::Flexible. +By default, every time CAF starts up, it attempts to execute certain +fixed database statements to create the tables and indices it needs. +These are run with C<$dbh->{PrintError}> set to 0. The effect with +sqlite (the default database) is that the tables and indices are +created iff they do not already exist, and that no spurious errors are +reported anywhere. + +If you use a different database, or just prefer to do things +differently, you can set up the tables yourself and/or disable or +modify the default setup statements, via the C +setting. + +The tables needed are: + + xxx document _db_setup_do xxx make _db_setup_do explicitly overrideable xxx remaining settings - assocdb_password + db_password username_password_error login_ok get_cookie_domain @@ -1324,11 +1339,13 @@ xxx remaining settings print debug -xxx document cookie +xxx document cookie usage +xxx document construct_cookie fn + +xxx document @default_db_setup_statements xxx bugs wrong default random on Linux xxx bugs wrong default random on *BSD xxx bugs keys not shared should be in db -xxx rename caf-assocs.db xxx rename caf_assocsecret default cookie name xxx mention relationship between login_timeout and cookies