Changes for page org.clazzes.login.sql
Last modified by christoph_lechleitner@iteg_at on 2013-07-15 01.30:42
From version 9.1
edited by christoph_lechleitner@iteg_at
on 2013-02-13 11.31:05
on 2013-02-13 11.31:05
Change comment:
1.1.0 released
To version 2.1
edited by christoph_lechleitner@iteg_at
on 2013-01-18 05.10:06
on 2013-01-18 05.10:06
Change comment:
First throw at hopefully complete configuration specs
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 1 +org.clazzes.login.sql (work in progress) - Content
-
... ... @@ -22,14 +22,12 @@ 22 22 23 23 === {{id name="org.clazzes.login.sql-Configuration"/}}Configuration === 24 24 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.25 +The SQL login service may be configured using the OSGi configuration PID {{code language="none"}}org.clazzes.login.sql{{/code}} using these configuration values: 26 26 27 -Beginning with the version 1.1.0 (released 2013-02-13), 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 -Results of list queries (group memberships, group members) are sorted naturally in the Java layer, so there is no need to use ORDER BY clauses. ORDER BY clauses often provoke temporary tables and filesort, which is quite expensive for queries used quite often. 30 - 31 31 (% class="wiki-content" %) 32 32 ((( 29 + 30 + 33 33 |=((( 34 34 (% class="tablesorter-header-inner" %) 35 35 ((( ... ... @@ -43,28 +43,12 @@ 43 43 ))) 44 44 |((( 45 45 {{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"}} 58 58 defaultDomain 59 59 {{/code}} 60 60 )))|((( 61 61 Optional. Defaults to an empty string. 62 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. 49 +The login domain to use for principals when the request did not contain a domain. 68 68 ))) 69 69 |((( 70 70 {{code language="none"}} ... ... @@ -71,12 +71,16 @@ 71 71 groupsByUserIdQuery 72 72 {{/code}} 73 73 )))|((( 74 -Required non-emptyfor //getGroups// feature.56 +Optional. Required for //getGroups// feature. 75 75 76 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 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}} 60 +Example: 61 +{{code language="none"}}SELECT g.groupId, g.groupName FROM groups AS g, users AS u, memberships AS mgroupName 62 + WHERE u.userId=? 63 +AND m.userId = u.id 64 + AND g.id = m.groupId 65 + ORDER BY g.groupId {{/code}} 80 80 ))) 81 81 |((( 82 82 {{code language="none"}} ... ... @@ -97,12 +97,12 @@ 97 97 setUserPasswordStatement 98 98 {{/code}} 99 99 )))|((( 100 -Required non-emptyfor //changePassword// feature.86 +Optional. Required for //changePassword// feature. 101 101 102 102 SQL template for a prepared statement to set a new password for the user. 103 103 104 - Default, appropriate for SDS' tables:105 -{{code language="none"}}UPDATE USERSSET PASSWORD=? WHEREUSERID=?{{/code}}90 +Example: 91 +{{code language="none"}}UPDATE users SET encryptedPassword=? WHERE userId=?{{/code}} 106 106 ))) 107 107 |((( 108 108 {{code language="none"}} ... ... @@ -114,18 +114,22 @@ 114 114 If the e-mail address is not part of the database, use a constant like '' or null. 115 115 116 116 Example: 117 -{{code language="none"}}SELECT USERID, PASSWORD,USERNAME,EMAILFROMUSERSWHEREUSERID=?{{/code}}103 +{{code language="none"}}SELECT userId, encryptedPassword, userName, mailAdr FROM users WHERE userId=?{{/code}} 118 118 ))) 119 119 |((( 120 120 {{code language="none"}} 121 -usersByGroupIdQuery 107 +userIdsByGroupIdQuery 122 122 {{/code}} 123 123 )))|((( 124 -Required non-emptyfor //getGroupMembers// feature.110 +Optional. Required for //getGroupMembers// feature. 125 125 126 -SQL template for a prepared statement to query the user IDs ,user names and e-mail-addressesof the members of the group specified by a groupId.112 +SQL template for a prepared statement to query the user IDs of the members of the group specified by a groupId. 127 127 128 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}} 115 +{{code language="none"}}SELECT u.userId FROM groups AS g, users AS u, memberships AS mgroupName 116 + WHERE g.groupId=? 117 +AND m.groupId = g.id 118 + AND u.id = m.userId 119 + ORDER BY g.userId {{/code}} 130 130 ))) 131 131 )))
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -6887 811 +688791 - Title
-
... ... @@ -1,1 +1,1 @@ 1 -org.clazzes.login.sql 1 +org.clazzes.login.sql (work in progress) - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/6887 81/org.clazzes.login.sql1 +https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/688791/org.clazzes.login.sql (work in progress)