Changes for page XWiki Authentication and Access Control
Last modified by Agnease on 2026/05/25 12:52
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- 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"> ... ... @@ -23,68 +23,92 @@ 23 23 </div> 24 24 </div> 25 25 </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 + }]) 26 26 27 - ## WHY ACCESS CONTROL MATTERS 28 28 <section aria-labelledby="why-access-title"> 29 29 <div class="container"> 30 30 <h2 id="why-access-title">Access control is central to a reliable XWiki platform</h2> 31 - 32 32 <p class="section-intro"> 33 33 XWiki often contains internal knowledge, procedures, project information, customer data, controlled documents 34 34 and business workflows. Authentication and permissions need to be configured carefully so users can access 35 35 what they need without exposing sensitive information or making administration too complex. 36 36 </p> 37 - 38 38 <div class="pathways"> 39 - <article class="pathway-card"> 40 - <div class="pathway-icon"> 41 - <i class="fa fa-sign-in" aria-hidden="true"></i> 42 - </div> 43 - <h3>Connect users securely</h3> 44 - <p> 45 - Integrate XWiki with your identity provider so users can access the platform with familiar credentials. 46 - </p> 47 - <ul> 48 - <li>LDAP and Active Directory</li> 49 - <li>OIDC, SAML and SSO</li> 50 - <li>MFA and authentication extensions</li> 51 - </ul> 52 - </article> 53 - 54 - <article class="pathway-card"> 55 - <div class="pathway-icon"> 56 - <i class="fa fa-users" aria-hidden="true"></i> 57 - </div> 58 - <h3>Manage groups clearly</h3> 59 - <p> 60 - Keep user and group synchronization understandable, scalable and aligned with the way permissions are used. 61 - </p> 62 - <ul> 63 - <li>User synchronization</li> 64 - <li>Group mapping and filtering</li> 65 - <li>Large directory considerations</li> 66 - </ul> 67 - </article> 68 - 69 - <article class="pathway-card"> 70 - <div class="pathway-icon"> 71 - <i class="fa fa-key" aria-hidden="true"></i> 72 - </div> 73 - <h3>Control access safely</h3> 74 - <p> 75 - Review and structure rights so spaces, pages and applications can be maintained without accidental exposure. 76 - </p> 77 - <ul> 78 - <li>Wiki and page permissions</li> 79 - <li>Admin and script rights awareness</li> 80 - <li>Rights model cleanup</li> 81 - </ul> 82 - </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 83 83 </div> 84 84 </div> 85 85 </section> 86 86 87 87 ## 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 + 88 88 <section class="services" aria-labelledby="access-needs-title"> 89 89 <div class="container"> 90 90 <h2 id="access-needs-title">Common authentication and access control needs</h2> ... ... @@ -95,77 +95,18 @@ 95 95 </p> 96 96 97 97 <div class="services-grid"> 98 - <article class="service"> 99 - <div class="service-icon" aria-hidden="true"> 100 - <i class="fa fa-address-book"></i> 101 - </div> 102 - <div class="service-body"> 103 - <h4>LDAP and Active Directory integration</h4> 104 - <p> 105 - Configuration, troubleshooting and optimization of LDAP/AD authentication, user creation and group synchronization. 106 - </p> 107 - </div> 108 - </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> 109 109 110 - <article class="service"> 111 - <div class="service-icon" aria-hidden="true"> 112 - <i class="fa fa-sign-in"></i> 113 - </div> 114 - <div class="service-body"> 115 - <h4>SSO, OIDC and SAML</h4> 116 - <p> 117 - Integration with identity providers, single sign-on flows and authentication extensions used in enterprise environments. 118 - </p> 119 - </div> 120 - </article> 121 - 122 - <article class="service"> 123 - <div class="service-icon" aria-hidden="true"> 124 - <i class="fa fa-shield"></i> 125 - </div> 126 - <div class="service-body"> 127 - <h4>Multi-factor authentication</h4> 128 - <p> 129 - MFA setup, licensing, configuration, troubleshooting and review of authentication-related user experience. 130 - </p> 131 - </div> 132 - </article> 133 - 134 - <article class="service"> 135 - <div class="service-icon" aria-hidden="true"> 136 - <i class="fa fa-users"></i> 137 - </div> 138 - <div class="service-body"> 139 - <h4>User and group synchronization</h4> 140 - <p> 141 - Review of synchronization strategy, group mapping, large-directory behavior and performance implications. 142 - </p> 143 - </div> 144 - </article> 145 - 146 - <article class="service"> 147 - <div class="service-icon" aria-hidden="true"> 148 - <i class="fa fa-key"></i> 149 - </div> 150 - <div class="service-body"> 151 - <h4>Rights model review</h4> 152 - <p> 153 - Review and cleanup of space, page, group and application permissions to reduce confusion and access risks. 154 - </p> 155 - </div> 156 - </article> 157 - 158 - <article class="service"> 159 - <div class="service-icon" aria-hidden="true"> 160 - <i class="fa fa-warning"></i> 161 - </div> 162 - <div class="service-body"> 163 - <h4>Access-related troubleshooting</h4> 164 - <p> 165 - Investigation of login failures, missing users, group sync issues, unexpected permissions or denied access. 166 - </p> 167 - </div> 168 - </article> 127 + <div class="service-body"> 128 + <h4>$entry.title</h4> 129 + <p>$entry.content</p> 130 + </div> 131 + </article> 132 + #end 169 169 </div> 170 170 </div> 171 171 </section>