Last modified by Agnease on 2026/05/25 12:52

From version 3.1
edited by Agnease
on 2026/05/22 06:02
Change comment: There is no comment for this version
To version 8.8
edited by Agnease
on 2026/05/25 12:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -XWiki Authentication and Access Control | SSO, LDAP and Permissions
1 +XWiki Authentication and Access Control
Content
... ... @@ -1,7 +1,6 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 -
5 5   ## PAGE HEADER
6 6   <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 7   <div class="container hero-inner">
... ... @@ -13,15 +13,10 @@
13 13   <h1 id="hero-title">Secure XWiki access, authentication and permissions</h1>
14 14  
15 15   <p class="lead">
16 - Configure and maintain XWiki authentication, user synchronization, group management and access rights
17 - for production environments.
15 + Secure XWiki access with LDAP, Active Directory, SSO, OIDC, SAML, MFA, user synchronization,
16 + group management and maintainable permission policies.
18 18   </p>
19 19  
20 - <p class="hero-support">
21 - We help organizations connect XWiki with LDAP, Active Directory, SSO, OIDC, SAML or MFA, while keeping
22 - permissions understandable, maintainable and aligned with internal access policies.
23 - </p>
24 -
25 25   <div class="hero-actions">
26 26   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss access control needs</a>
27 27   <a class="btn btn-secondary" href="#access-control-process">See the approach</a>
... ... @@ -28,68 +28,92 @@
28 28   </div>
29 29   </div>
30 30   </section>
25 + ## WHY ACCESS CONTROL CARDS
26 + #set ($accessControlItems = [{
27 + 'title': 'Connect users securely',
28 + 'icon': 'sign-in',
29 + 'content': 'Integrate XWiki with your identity provider so users can access the platform with familiar credentials.',
30 + 'items': [
31 + 'LDAP and Active Directory',
32 + 'OIDC, SAML and SSO',
33 + 'MFA and authentication extensions'
34 + ]
35 + },{
36 + 'title': 'Manage groups clearly',
37 + 'icon': 'users',
38 + 'content': 'Keep user and group synchronization understandable, scalable and aligned with the way permissions are used.',
39 + 'items': [
40 + 'User synchronization',
41 + 'Group mapping and filtering',
42 + 'Large directory considerations'
43 + ]
44 + },{
45 + 'title': 'Control access safely',
46 + 'icon': 'key',
47 + 'content': 'Review and structure rights so spaces, pages and applications can be maintained without accidental exposure.',
48 + 'items': [
49 + 'Wiki and page permissions',
50 + 'Admin and script rights awareness',
51 + 'Rights model cleanup'
52 + ]
53 + }])
31 31  
32 - ## WHY ACCESS CONTROL MATTERS
33 33   <section aria-labelledby="why-access-title">
34 34   <div class="container">
35 35   <h2 id="why-access-title">Access control is central to a reliable XWiki platform</h2>
36 -
37 37   <p class="section-intro">
38 38   XWiki often contains internal knowledge, procedures, project information, customer data, controlled documents
39 39   and business workflows. Authentication and permissions need to be configured carefully so users can access
40 40   what they need without exposing sensitive information or making administration too complex.
41 41   </p>
42 -
43 43   <div class="pathways">
44 - <article class="pathway-card">
45 - <div class="pathway-icon">
46 - <i class="fa fa-sign-in" aria-hidden="true"></i>
47 - </div>
48 - <h3>Connect users securely</h3>
49 - <p>
50 - Integrate XWiki with your identity provider so users can access the platform with familiar credentials.
51 - </p>
52 - <ul>
53 - <li>LDAP and Active Directory</li>
54 - <li>OIDC, SAML and SSO</li>
55 - <li>MFA and authentication extensions</li>
56 - </ul>
57 - </article>
58 -
59 - <article class="pathway-card">
60 - <div class="pathway-icon">
61 - <i class="fa fa-users" aria-hidden="true"></i>
62 - </div>
63 - <h3>Manage groups clearly</h3>
64 - <p>
65 - Keep user and group synchronization understandable, scalable and aligned with the way permissions are used.
66 - </p>
67 - <ul>
68 - <li>User synchronization</li>
69 - <li>Group mapping and filtering</li>
70 - <li>Large directory considerations</li>
71 - </ul>
72 - </article>
73 -
74 - <article class="pathway-card">
75 - <div class="pathway-icon">
76 - <i class="fa fa-key" aria-hidden="true"></i>
77 - </div>
78 - <h3>Control access safely</h3>
79 - <p>
80 - Review and structure rights so spaces, pages and applications can be maintained without accidental exposure.
81 - </p>
82 - <ul>
83 - <li>Wiki and page permissions</li>
84 - <li>Admin and script rights awareness</li>
85 - <li>Rights model cleanup</li>
86 - </ul>
87 - </article>
64 + #foreach ($entry in $accessControlItems)
65 + <article class="pathway-card">
66 + <div class="card-heading">
67 + <div class="pathway-icon">
68 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
69 + </div>
70 + <h3>$entry.title</h3>
71 + </div>
72 + <p>$entry.content</p>
73 + <ul>
74 + #foreach ($item in $entry.items)
75 + <li>$item</li>
76 + #end
77 + </ul>
78 + </article>
79 + #end
88 88   </div>
89 89   </div>
90 90   </section>
91 91  
92 92   ## COMMON NEEDS
85 + #set ($accessNeedsItems = [{
86 + 'title': 'LDAP and Active Directory integration',
87 + 'icon': 'address-book',
88 + 'content': 'Configuration, troubleshooting and optimization of LDAP/AD authentication, user creation and group synchronization.'
89 + },{
90 + 'title': 'SSO, OIDC and SAML',
91 + 'icon': 'sign-in',
92 + 'content': 'Integration with identity providers, single sign-on flows and authentication extensions used in enterprise environments.'
93 + },{
94 + 'title': 'Multi-factor authentication',
95 + 'icon': 'shield',
96 + 'content': 'MFA setup, licensing, configuration, troubleshooting and review of authentication-related user experience.'
97 + },{
98 + 'title': 'User and group synchronization',
99 + 'icon': 'users',
100 + 'content': 'Review of synchronization strategy, group mapping, large-directory behavior and performance implications.'
101 + },{
102 + 'title': 'Rights model review',
103 + 'icon': 'key',
104 + 'content': 'Review and cleanup of space, page, group and application permissions to reduce confusion and access risks.'
105 + },{
106 + 'title': 'Access-related troubleshooting',
107 + 'icon': 'warning',
108 + 'content': 'Investigation of login failures, missing users, group sync issues, unexpected permissions or denied access.'
109 + }])
110 +
93 93   <section class="services" aria-labelledby="access-needs-title">
94 94   <div class="container">
95 95   <h2 id="access-needs-title">Common authentication and access control needs</h2>
... ... @@ -100,82 +100,40 @@
100 100   </p>
101 101  
102 102   <div class="services-grid">
103 - <article class="service">
104 - <div class="service-icon" aria-hidden="true">
105 - <i class="fa fa-address-book"></i>
106 - </div>
107 - <div class="service-body">
108 - <h4>LDAP and Active Directory integration</h4>
109 - <p>
110 - Configuration, troubleshooting and optimization of LDAP/AD authentication, user creation and group synchronization.
111 - </p>
112 - </div>
113 - </article>
121 + #foreach ($entry in $accessNeedsItems)
122 + <article class="service">
123 + <div class="service-icon" aria-hidden="true">
124 + <i class="fa fa-$entry.icon"></i>
125 + </div>
114 114  
115 - <article class="service">
116 - <div class="service-icon" aria-hidden="true">
117 - <i class="fa fa-sign-in"></i>
118 - </div>
119 - <div class="service-body">
120 - <h4>SSO, OIDC and SAML</h4>
121 - <p>
122 - Integration with identity providers, single sign-on flows and authentication extensions used in enterprise environments.
123 - </p>
124 - </div>
125 - </article>
126 -
127 - <article class="service">
128 - <div class="service-icon" aria-hidden="true">
129 - <i class="fa fa-shield"></i>
130 - </div>
131 - <div class="service-body">
132 - <h4>Multi-factor authentication</h4>
133 - <p>
134 - MFA setup, licensing, configuration, troubleshooting and review of authentication-related user experience.
135 - </p>
136 - </div>
137 - </article>
138 -
139 - <article class="service">
140 - <div class="service-icon" aria-hidden="true">
141 - <i class="fa fa-users"></i>
142 - </div>
143 - <div class="service-body">
144 - <h4>User and group synchronization</h4>
145 - <p>
146 - Review of synchronization strategy, group mapping, large-directory behavior and performance implications.
147 - </p>
148 - </div>
149 - </article>
150 -
151 - <article class="service">
152 - <div class="service-icon" aria-hidden="true">
153 - <i class="fa fa-key"></i>
154 - </div>
155 - <div class="service-body">
156 - <h4>Rights model review</h4>
157 - <p>
158 - Review and cleanup of space, page, group and application permissions to reduce confusion and access risks.
159 - </p>
160 - </div>
161 - </article>
162 -
163 - <article class="service">
164 - <div class="service-icon" aria-hidden="true">
165 - <i class="fa fa-warning"></i>
166 - </div>
167 - <div class="service-body">
168 - <h4>Access-related troubleshooting</h4>
169 - <p>
170 - Investigation of login failures, missing users, group sync issues, unexpected permissions or denied access.
171 - </p>
172 - </div>
173 - </article>
127 + <div class="service-body">
128 + <h4>$entry.title</h4>
129 + <p>$entry.content</p>
130 + </div>
131 + </article>
132 + #end
174 174   </div>
175 175   </div>
176 176   </section>
177 177  
178 - ## APPROACH
137 + ## ACCESS CONTROL PROCESS
138 + #set ($accessProcessItems = [{
139 + 'title': 'Review the current access setup',
140 + 'content': 'Authentication method, user directory, groups, synchronization behavior, rights configuration and known issues.'
141 + },{
142 + 'title': 'Clarify the target model',
143 + 'content': 'Expected login flow, user provisioning, group mapping, administration model and permission boundaries.'
144 + },{
145 + 'title': 'Validate configuration safely',
146 + 'content': 'Test authentication, synchronization and rights behavior before applying changes to production when needed.'
147 + },{
148 + 'title': 'Apply controlled changes',
149 + 'content': 'Update configuration, extensions, rights or group mappings with attention to rollback and administrator access.'
150 + },{
151 + 'title': 'Document the result',
152 + 'content': 'Provide practical notes about the final configuration, assumptions, risks and future maintenance actions.'
153 + }])
154 +
179 179   <section id="access-control-process" class="split-section" aria-labelledby="process-title">
180 180   <div class="container">
181 181   <div class="split-grid">
... ... @@ -195,26 +195,12 @@
195 195   </div>
196 196  
197 197   <ol class="process-list">
198 - <li>
199 - <strong>Review the current access setup</strong>
200 - Authentication method, user directory, groups, synchronization behavior, rights configuration and known issues.
201 - </li>
202 - <li>
203 - <strong>Clarify the target model</strong>
204 - Expected login flow, user provisioning, group mapping, administration model and permission boundaries.
205 - </li>
206 - <li>
207 - <strong>Validate configuration safely</strong>
208 - Test authentication, synchronization and rights behavior before applying changes to production when needed.
209 - </li>
210 - <li>
211 - <strong>Apply controlled changes</strong>
212 - Update configuration, extensions, rights or group mappings with attention to rollback and administrator access.
213 - </li>
214 - <li>
215 - <strong>Document the result</strong>
216 - Provide practical notes about the final configuration, assumptions, risks and future maintenance actions.
217 - </li>
174 + #foreach ($entry in $accessProcessItems)
175 + <li>
176 + <strong>$entry.title</strong>
177 + $entry.content
178 + </li>
179 + #end
218 218   </ol>
219 219   </div>
220 220   </div>
... ... @@ -221,6 +221,24 @@
221 221   </section>
222 222  
223 223   ## SPECIFIC AREAS
186 + #set ($accessAreasItems = [{
187 + 'title': 'Directory configuration',
188 + 'icon': 'server',
189 + 'content': 'LDAP/AD connection settings, bind users, search bases, user filters, group filters and synchronization behavior.'
190 + },{
191 + 'title': 'Group mapping',
192 + 'icon': 'random',
193 + 'content': 'Mapping external groups into XWiki groups while avoiding unnecessary complexity and performance issues.'
194 + },{
195 + 'title': 'Permission structure',
196 + 'icon': 'lock',
197 + 'content': 'Space and page rights, inheritance, administrative access, edit rights, view rights and application permissions.'
198 + },{
199 + 'title': 'Security-sensitive rights',
200 + 'icon': 'user-secret',
201 + 'content': 'Review of powerful rights such as admin, programming, script and edit rights where they affect security.'
202 + }])
203 +
224 224   <section aria-labelledby="areas-title">
225 225   <div class="container">
226 226   <h2 id="areas-title">Specific areas we can review</h2>
... ... @@ -231,45 +231,16 @@
231 231   </p>
232 232  
233 233   <div class="widgets">
234 - <article class="widget">
235 - <div class="icon" aria-hidden="true">
236 - <i class="fa fa-server"></i>
237 - <h4>Directory<br />configuration</h4>
238 - </div>
239 - <p>
240 - LDAP/AD connection settings, bind users, search bases, user filters, group filters and synchronization behavior.
241 - </p>
242 - </article>
214 + #foreach ($entry in $accessAreasItems)
215 + <article class="widget">
216 + <div class="icon" aria-hidden="true">
217 + <i class="fa fa-$entry.icon"></i>
218 + <h4>$entry.title</h4>
219 + </div>
243 243  
244 - <article class="widget">
245 - <div class="icon" aria-hidden="true">
246 - <i class="fa fa-random"></i>
247 - <h4>Group<br />mapping</h4>
248 - </div>
249 - <p>
250 - Mapping external groups into XWiki groups while avoiding unnecessary complexity and performance issues.
251 - </p>
252 - </article>
253 -
254 - <article class="widget">
255 - <div class="icon" aria-hidden="true">
256 - <i class="fa fa-lock"></i>
257 - <h4>Permission<br />structure</h4>
258 - </div>
259 - <p>
260 - Space and page rights, inheritance, administrative access, edit rights, view rights and application permissions.
261 - </p>
262 - </article>
263 -
264 - <article class="widget">
265 - <div class="icon" aria-hidden="true">
266 - <i class="fa fa-user-secret"></i>
267 - <h4>Security<br />sensitive rights</h4>
268 - </div>
269 - <p>
270 - Review of powerful rights such as admin, programming, script and edit rights where they affect security.
271 - </p>
272 - </article>
221 + <p>$entry.content</p>
222 + </article>
223 + #end
273 273   </div>
274 274   </div>
275 275   </section>
Agnease.Code.SEODetailsClass[0]
metaTitle
... ... @@ -1,0 +1,1 @@
1 +XWiki Authentication and Access Control Services | Agnease