Version 2.1 by christoph_lechleitner@iteg_at on 2013-01-18 05.10:06

Show last authors
1 The jaas-login-service is provided as an OSGi bundle, which may be activated by
2
3 (% class="code" %)
4 (((
5 obr:addurl http:~/~/maven.clazzes.org/repository.xml
6 obr:deploy sql-login-service
7 )))
8
9 The maven artifact is:
10
11 (% class="code" %)
12 (((
13 <groupId>org.clazzes.login</groupId>
14 <artifactId>sql-login-service</artifactId>
15 )))
16
17 === {{id name="org.clazzes.login.sql-Functionality"/}}Functionality ===
18
19 The SQL login service authenticates against users in a SQL database, using configurable SQL queries.
20
21 There are no plans to support authentication domains, because typical standalone login systems do not care for domains.
22
23 === {{id name="org.clazzes.login.sql-Configuration"/}}Configuration ===
24
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
27 (% class="wiki-content" %)
28 (((
29
30
31 |=(((
32 (% class="tablesorter-header-inner" %)
33 (((
34 Key
35 )))
36 )))|=(((
37 (% class="tablesorter-header-inner" %)
38 (((
39 Description
40 )))
41 )))
42 |(((
43 {{code language="none"}}
44 defaultDomain
45 {{/code}}
46 )))|(((
47 Optional. Defaults to an empty string.
48
49 The login domain to use for principals when the request did not contain a domain.
50 )))
51 |(((
52 {{code language="none"}}
53 groupsByUserIdQuery
54 {{/code}}
55 )))|(((
56 Optional. Required for //getGroups// feature.
57
58 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.
59
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}}
66 )))
67 |(((
68 {{code language="none"}}
69 defaultPasswordAlgorithm
70 {{/code}}
71 )))|(((
72 Optional. Defaults to {{code language="none"}}crypt{{/code}}
73
74 Values supported so far: {{code language="none"}}crypt{{/code}}, {{code language="none"}}ssha1{{/code}}, {{code language="none"}}plain{{/code}}.
75
76 Password fields may contain:
77
78 * the password encrypted using the default password algorithm, or
79 * a LDAP style algorithm prefix and the password encrypted with the algorithm specified in the prefix. Example: {{code language="none"}}{PLAIN}badPassword{{/code}}
80 )))
81 |(((
82 {{code language="none"}}
83 setUserPasswordStatement
84 {{/code}}
85 )))|(((
86 Optional. Required for //changePassword// feature.
87
88 SQL template for a prepared statement to set a new password for the user.
89
90 Example:
91 {{code language="none"}}UPDATE users SET encryptedPassword=? WHERE userId=?{{/code}}
92 )))
93 |(((
94 {{code language="none"}}
95 userByUserIdQuery
96 {{/code}}
97 )))|(((
98 SQL template for a prepared statement to query userId, encrypted password, pretty name and e-mail address of a user specified by a userId.
99 If the pretty name is not part of the database, reuse the userId field.
100 If the e-mail address is not part of the database, use a constant like '' or null.
101
102 Example:
103 {{code language="none"}}SELECT userId, encryptedPassword, userName, mailAdr FROM users WHERE userId=?{{/code}}
104 )))
105 |(((
106 {{code language="none"}}
107 userIdsByGroupIdQuery
108 {{/code}}
109 )))|(((
110 Optional. Required for //getGroupMembers// feature.
111
112 SQL template for a prepared statement to query the user IDs of the members of the group specified by a groupId.
113
114 Example:
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}}
120 )))
121 )))