6.2. Portal Security and Permissions

Portal Server has been designed with ease-of-use as a primary goal. For that reason, much of Portal Server is self-explanatory — a few minutes spent clicking around on the local admin page within a test portal is usually enough to acquaint a new user with the system.

As straightforward and understandable as the administration interface is for setting permissions on a portal, it is still very important to be familiar with the underlying security policies for Portal Server.

This section is intended to address those policies. We'll start by explaining some basic policy issues and defining some terms as they are used in Portal Server. Then we'll delve into the differences between the types of portals and how that affects security, and finally discuss some specific security issues in terms of permissions.

6.2.1. Permissions Terminology

This section provides definitions for the specific terminology used in defining permissions in Portal Server. A common understanding of terminology is an important piece in establishing a working permissions structure. Security issues and stumbling blocks can be avoided by ensuring that all application administrators are working from this common understanding.

Every system has a Universal administrator, who has unlimited power on the Portal Server deployment. This user account is established in the com.arsdigita.kernel.Initializer section of the enterprise.init.

Registered users of the system are created by the Universal administrator, by navigating to the site wide admin page, and choosing the Manage Users and Groups link, and then selecting the Create New User link.

Permissions are delegated to parties registered on the system. A party can be one person or it can be a group. Every user on the system is a member of at least one party, with themselves the sole member. For example, the user user1 is a member of the group user1.

Groups are collections of parties. Because groups are also parties, groups can contain other groups.

Privileges are types of permissions granted to parties. Permissions available on the default deployment are read, write, and manage:

A role is a class of users within a group. The class of users who have a given role within a group are treated as a party, so that permissions can be assigned to a role within a group. Roles effectively partition a group into members with similar permissions.

6.2.2. Considering Permissions and Security

In practice, although there are many varying use cases for specific portal instances, there are really only three types of portals in terms of permissioning: top-level portals, personal portals, and child portals.