Wiki source code of org.clazzes.login.ldap

Version 2.1 by christoph_lechleitner@iteg_at on 2012-11-20 10.50:45

Show last authors
1 The ldap-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 ldap-login-service
7 )))
8
9 The maven artifact is:
10
11 (% class="code" %)
12 (((
13 <groupId>org.clazzes.login</groupId>
14 <artifactId>ldap-login-service</artifactId>
15 )))
16
17 === {{id name="org.clazzes.login.ldap-Functionality"/}}Functionality ===
18
19 The LDAP login service authenticates against users in an ADS domain or against users in an LDAP server configured for an individual domain.
20
21 The function {{code language="none"}}tryLogin(){{/code}} needs credentials if run against a legacy LDAP Server.
22
23 For AD DS servers, an additional non-search authentication method {{code language="none"}}bindAds{{/code}} is implemented for {{code language="none"}}tryLogin(){{/code}}, which tries to bind using a principal in the form {{code language="none"}}user@domain{{/code}}.
24
25 The functions {{code language="none"}}searchUser(){{/code}}, {{code language="none"}}getGroups(){{/code}}, {{code language="none"}}getGroupMembers(){{/code}} need bind credentials and will only work in AD DS environments.
26
27 === {{id name="org.clazzes.login.ldap-Configuration"/}}Configuration ===
28
29 The LDAP login service may be configured using the OSGi configuration PID {{code language="none"}}org.clazzes.login.ldap{{/code}} using these configuration values:
30
31 |=(((
32 (% class="tablesorter-header-inner" %)
33 (((
34 Key
35 )))
36 )))|=(((
37 (% class="tablesorter-header-inner" %)
38 (((
39 Default Value
40 )))
41 )))|=(((
42 (% class="tablesorter-header-inner" %)
43 (((
44 Description
45 )))
46 )))
47 |(((
48 {{code language="none"}}
49 defaultDomain
50 {{/code}}
51 )))|(((
52
53 )))|(((
54 The domain to use for principals, which do not contain a domain.
55 )))
56 |(((
57 {{code language="none"}}
58 domain.<domain>.controllerUri
59 {{/code}}
60 )))|(((
61
62 )))|(((
63 The server to contact. Supported URL schemes: {{code language="none"}}ldap{{/code}}, {{code language="none"}}ldaps{{/code}}, {{code language="none"}}ads{{/code}}. See below
64 )))
65 |(((
66 {{code language="none"}}
67 domain.<domain>.authMethod
68 {{/code}}
69 )))|(((
70 {{code language="none"}}
71 searchAndBind
72 {{/code}}
73 )))|(((
74 The method for authenticating a user. Supported methods: {{code language="none"}}searchAndBind{{/code}}, {{code language="none"}}bindAds{{/code}}.
75 )))
76 |(((
77 {{code language="none"}}
78 domain.<domain>.bindUser
79 {{/code}}
80 )))|(((
81
82 )))|(((
83 The DN used for binding before searching something in the domain <domain>. For {{code language="none"}}tryLogin(){{/code}} this applies only to the authMethod {{code language="none"}}searchAndBind{{/code}}.
84 )))
85 |(((
86 {{code language="none"}}
87 domain.<domain>.bindPassword
88 {{/code}}
89 )))|(((
90
91 )))|(((
92 The password used for binding searching something in the domain <domain>. For {{code language="none"}}tryLogin(){{/code}} this applies only to the authMethod {{code language="none"}}searchAndBind{{/code}}.
93 )))
94 |(((
95 {{code language="none"}}
96 domain.<domain>.userAttribute
97 {{/code}}
98 )))|(((
99 {{code language="none"}}
100 samAccountName
101 {{/code}}
102 )))|(((
103 The LDAP attribute to use for finding a given user name.
104 )))
105 |(((
106 {{code language="none"}}
107 domain.<domain>.prettyNameAttribute
108 {{/code}}
109 )))|(((
110 {{code language="none"}}
111 cn
112 {{/code}}
113 )))|(((
114 The LDAP attribute to try to use as pretty name for users and groups.
115 )))
116 |(((
117 {{code language="none"}}
118 domain.<domain>.eMailAddressAttribute
119 {{/code}}
120 )))|(((
121 {{code language="none"}}
122 mail
123 {{/code}}
124 )))|(((
125 The LDAP attribute to try to use as primary e-mail address for users.
126 )))
127
128 There may be multiple domains in a configuration.
129
130 === {{id name="org.clazzes.login.ldap-ControllerSchemes"/}}Controller Schemes ===
131
132 The URL schemes for a domain controller are ldap, ldaps and ads.
133
134 The {{code language="none"}}ads{{/code}} URL scheme for the URL {{code language="none"}}ads://mydomain.com{{/code}} undertakes a lookup for the DNS records
135
136 (% class="code" %)
137 (((
138 SRV _ldap._tcp.mydomain.com
139 TXT _ldap._tcp.mydomain.com
140 )))
141
142 to auto-detect the apropriate {{code language="none"}}ldap(s){{/code}} URI.
143
144