Super-user is a special user who has full privileges and can do anything. However, only one user account may be declared as the super-user. By default, the super-user is set to the "root" user. The "root" user is preconfigured as below:
Account details: Root, Root, root@localhost.
Memberships: member:/organization/management/executive-board, *:/platform/administrators, *:/platform/users, *:/platform/web-contributors, *:/organization/employees.
All permissions on folders and other users.
Permission to use some locked features in eXo Platform.
For example, if you want to set a user account as the super-user, you can configure it as follows:
You must do this configuration before the first boot of eXo Platform.
1. Modify the system property named exo.super.user defined in configuration.properties before starting eXo platform.
# Super User declaration
exo.super.user=root
2. Make sure the user whom you want to set as the "super-user" already exists into your configuration. By default, the users including "john", "demo", "james" and "mary" are created.
3. Remove the "root" user declaration defined in the organization-configuration.xml file:
For Tomcat:
$TOMCAT_HOME/webapps/platform-extension/WEB-INF/conf/organization/organization-configuration.xml
For JBoss:
$JBOSS_HOME/default/deploy/exo-platform-extension-$PLF_Version.ear/WEB-INF/conf/organization/organization-configuration.xml
<field name="user">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.organization.OrganizationConfig$User">
<field name="userName">
<string>${exo.super.user}</string>
</field>
<field name="password">
<string>gtn</string>
</field>
<field name="firstName">
<string>Root</string>
</field>
<field name="lastName">
<string>Root</string>
</field>
<field name="email">
<string>root@localhost</string>
</field>
<field name="groups">
<string>*:/platform/administrators,*:/platform/users,*:/platform/web-contributors,*:/organization/employees
</string>
</field>
</object>
</value>
</collection>
</field>
4. Add some privileges to your user into the organization-configuration.xml file.
For Tomcat:
$TOMCAT_HOME/webapps/acme-website/WEB-INF/conf/acme-portal/organization/organization-configuration.xml
For JBoss:
$JBOSS_HOME/default/deploy/exo-acme-website-$PLF_Version.ear/WEB-INF/conf/organization/organization-configuration.xml
For example:
Set the "demo" user as a super-user.
# Super User declaration
exo.super.user=demo
Assign some privileges to the "demo" user:
<value>
<object type="org.exoplatform.services.organization.OrganizationConfig$User">
<field name="userName">
<string>demo</string>
</field>
<field name="password">
<string>gtn</string>
</field>
<field name="firstName">
<string>Jack</string>
</field>
<field name="lastName">
<string>Miller</string>
</field>
<field name="email">
<string>jack.miller@acme.exoplatform.com</string>
</field>
<field name="groups">
<string>*:/platform/administrators,*:/platform/users,*:/platform/web-contributors,*:/organization/employees</string>
</field>
</object>
</value>