Identify and Define Your Scope Types (STEP 2)
You need to identify the types of scopes that your privileges will have.
You may find it easier to think in terms of security contexts rather than
scopes (use whichever concept works better for you). The two
things are very similar but contexts are more user-facing and
scopes more implementation-facing. Ask yourself, in what contexts
do I need to provide different access rights based on users'
relationships?
You are not, at this stage, going to be creating the scopes
themselves, just identifying and creating their types. This is a
necessary precursor to creating privileges.
Note that Veil2 provides 2 default scope types:
for global and personal scopes.
You will also need to consider whether your role mappings will
apply globally, or whether different subsets of users are going to
see different contextually-dependent
role-mappings. If your users have different authentication contexts,
that is they log in using different web forms for different
organizations or departments, etc, then you may need different
role mappings for those different authentication contexts.
Look for "STEP 2" in the file
veil2_demo--<version>.sql.
Create Scope Type Records
You will need to insert records into
veil2.scope_types.
The Veil2 demo creates 3 relational scopes:
corp, org and project where: corp represents a corporation; org
represents an organization within the organizational hierarchy
of a corporation; and project represents a project.
Update Your Role Mapping Context (maybe)
If you need multiple role to role mapping contexts, you need to
define mapping context target scope
type in the system_parameters
table.
The demo sets role to role mapping to happen at the
corp level. This means that the
Customer Service Rep role might provide us
with different function-level roles if we log in to Veil
Corp than if we log in to Protected Corp.
Veil2 defaults to role-mapping being global.
If this is what you want for your system, you can skip this step.