Changes for page org.clazzes.login.sql

Last modified by christoph_lechleitner@iteg_at on 2013-07-15 01.30:42

From version 8.1
edited by christoph_lechleitner@iteg_at
on 2013-02-12 05.00:28
Change comment: documenting query string defaults as of upcoming 1.1.0 release
To version 2.1
edited by christoph_lechleitner@iteg_at
on 2013-01-18 05.10:06
Change comment: First throw at hopefully complete configuration specs

Summary

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 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 -
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-empty for //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-empty for //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 USERS SET PASSWORD=? WHERE USERID=?{{/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, EMAIL FROM USERS WHERE USERID=?{{/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-empty for //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-addresses of 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 -688797
1 +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/688797/org.clazzes.login.sql
1 +https://clazzes.atlassian.net/wiki/spaces/LOGIN/pages/688791/org.clazzes.login.sql (work in progress)