Changes for page org.clazzes.login.sql
Last modified by christoph_lechleitner@iteg_at on 2013-07-15 01.30:42
From version 1.1
edited by christoph_lechleitner@iteg_at
on 2013-01-18 02.49:21
on 2013-01-18 02.49:21
Change comment:
There is no comment for this version
To version 8.1
edited by christoph_lechleitner@iteg_at
on 2013-02-12 05.00:28
on 2013-02-12 05.00:28
Change comment:
documenting query string defaults as of upcoming 1.1.0 release
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -org.clazzes.login.sql (work in progress)1 +org.clazzes.login.sql - Content
-
... ... @@ -16,12 +16,18 @@ 16 16 17 17 === {{id name="org.clazzes.login.sql-Functionality"/}}Functionality === 18 18 19 -The SQL login service authenticates against users in a SQL database. 19 +The SQL login service authenticates against users in a SQL database, using configurable SQL queries. 20 20 21 +There are no plans to support authentication domains, because typical standalone login systems do not care for domains. 22 + 21 21 === {{id name="org.clazzes.login.sql-Configuration"/}}Configuration === 22 22 23 -The SQL login service may be configured using the OSGi configuration PID {{code language="none"}}org.clazzes.login.sql{{/code}} using the seconfiguration values:25 +The SQL login service may be configured using the OSGi configuration PID {{code language="none"}}org.clazzes.login.sql{{/code}} using the configuration values shown in the table below. 24 24 27 +Beginning with the upcoming 1.1.0 release, all query strings default to the database structure used by the upcoming [[SDS (SQL Directory Service)>>confluencePage:page:LOGIN.SDS (SQL Directory Service) (work in progress)]] bundle. When using another database structure that does not allow some of the queries, it is important set those configuration values to empty strings; deleting them will not help because default values would kick in right away. 28 + 29 +1.1.0 will also start to "naturally" order resulting lists, so there is no need to use ORDER BY clauses which often provoke temporary tables and filesort. 30 + 25 25 (% class="wiki-content" %) 26 26 ((( 27 27 |=((( ... ... @@ -32,22 +32,94 @@ 32 32 )))|=((( 33 33 (% class="tablesorter-header-inner" %) 34 34 ((( 35 -Default Value 36 -))) 37 -)))|=((( 38 -(% class="tablesorter-header-inner" %) 39 -((( 40 40 Description 41 41 ))) 42 42 ))) 43 43 |((( 44 44 {{code language="none"}} 46 +deactivateUserStatement 47 +{{/code}} 48 +)))|((( 49 +Required non-empty for //deactivateUser// feature. 50 + 51 +SQL template for a prepared statement to deactivate a user. 52 + 53 +Default, appropriate for SDS' tables: 54 +{{code language="none"}}UPDATE USERS SET PASSWORD='{disabled}' WHERE USERID=?{{/code}} 55 +))) 56 +|((( 57 +{{code language="none"}} 45 45 defaultDomain 46 46 {{/code}} 47 47 )))|((( 48 -(% style="font-family: monospace;" %)- 61 +Optional. Defaults to an empty string. 62 + 63 +If set to an empty string, the domain parameter of request queries does not get checked but is filled in in returned principals. 64 + 65 +If set to a non-empty string, requests for other domains are refused. 66 + 67 +Support for databases maintaining multiple authentication domains might be added in the future, but I do not believe multi-domain setups even exist outside the LDAP/ADS world. 68 +))) 69 +|((( 70 +{{code language="none"}} 71 +groupsByUserIdQuery 72 +{{/code}} 49 49 )))|((( 50 -The login domain to use for principals, which do not contain a domain. 51 -May be left null for domain-less databases 74 +Required non-empty for //getGroups// feature. 75 + 76 +SQL template for a prepared statement to query the group IDs and group names of the groups of which the user specified by a userId is a member. 77 + 78 +Default, appropriate for SDS' tables: 79 +{{code language="none"}}SELECT g.GROUPID, g.GROUPNAME FROM GROUPS AS g, USERS AS u, GROUPMEMBERSHIPS AS m WHERE u.USERID='?' AND m.USER_ID = u.ID AND g.ID = m.GROUP_ID{{/code}} 52 52 ))) 81 +|((( 82 +{{code language="none"}} 83 +defaultPasswordAlgorithm 84 +{{/code}} 85 +)))|((( 86 +Optional. Defaults to {{code language="none"}}crypt{{/code}} 87 + 88 +Values supported so far: {{code language="none"}}crypt{{/code}}, {{code language="none"}}ssha1{{/code}}, {{code language="none"}}plain{{/code}}. 89 + 90 +Password fields may contain: 91 + 92 +* the password encrypted using the default password algorithm, or 93 +* a LDAP style algorithm prefix and the password encrypted with the algorithm specified in the prefix. Example: {{code language="none"}}{PLAIN}badPassword{{/code}} 53 53 ))) 95 +|((( 96 +{{code language="none"}} 97 +setUserPasswordStatement 98 +{{/code}} 99 +)))|((( 100 +Required non-empty for //changePassword// feature. 101 + 102 +SQL template for a prepared statement to set a new password for the user. 103 + 104 +Default, appropriate for SDS' tables: 105 +{{code language="none"}}UPDATE USERS SET PASSWORD=? WHERE USERID=?{{/code}} 106 +))) 107 +|((( 108 +{{code language="none"}} 109 +userByUserIdQuery 110 +{{/code}} 111 +)))|((( 112 +SQL template for a prepared statement to query userId, encrypted password, pretty name and e-mail address of a user specified by a userId. 113 +If the pretty name is not part of the database, reuse the userId field. 114 +If the e-mail address is not part of the database, use a constant like '' or null. 115 + 116 +Example: 117 +{{code language="none"}}SELECT USERID, PASSWORD, USERNAME, EMAIL FROM USERS WHERE USERID=?{{/code}} 118 +))) 119 +|((( 120 +{{code language="none"}} 121 +usersByGroupIdQuery 122 +{{/code}} 123 +)))|((( 124 +Required non-empty for //getGroupMembers// feature. 125 + 126 +SQL template for a prepared statement to query the user IDs, user names and e-mail-addresses of the members of the group specified by a groupId. 127 + 128 +Example: 129 +{{code language="none"}}SELECT u.USERID, u.USERNAME, u.EMAIL FROM GROUPS AS g, USERS AS u, GROUPMEMBERSHIPS AS m WHERE g.GROUPID=? AND m.GROUP_ID = g.ID AND u.ID = m.USER_ID{{/code}} 130 +))) 131 +)))
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -6887 851 +688797 - Title
-
... ... @@ -1,1 +1,1 @@ 1 -org.clazzes.login.sql (work in progress)1 +org.clazzes.login.sql - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/6887 85/org.clazzes.login.sql(work in progress)1 +https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/688797/org.clazzes.login.sql