Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Todo - comments

This article describes the best way to control access to apps for end users.

Overview

For end users of a PhixFlow application, we recommend that access to PhixFlow itself is restricted. You can ensure that users can only access applications as follows.

  • Create an App User role with the essential privileges (listed below).
  • Assign application users to the App User role. They will have no access to the repository lists of dashboards, views, streams or any other modelling objects.
  • Configure a default dashboard to act as a landing page when user logs into PhixFlow that is, setting a default dashboard for their User.
  • Ensure that all the navigation that they require is available in the application's menu options or Action buttons on dashboards.

...

PhixFlow has a set of pre-configured user roles. However, there is no pre-configured role for an application user.

Application users only need a limited set of privileges to ensure that they can log into the PhixFlow applications that they need to use. Therefore we recommend that you create a specific App User role on your instance of PhixFlow.

...

Insert excerpt
_Banners
_Banners
nameapp
nopaneltrue

Overview

Once an application is complete and ready for use, you need to configure the privileges that the application users require. To learn more about users, user groups, roles and privileges, see Managing User Groups and Privileges.

From version 9.0 onwards, PhixFlow automatically creates 2 user groups for applications:

  • appname for people who need to use the application
  • appname_Admin for people who need to manage the application and user access to it.

where appname is the same as the application's name. These users can be used with a role assigned, or can simply be used to grant access where a user is a part of a group. For example, a user will need to be in the appname group in order to access the application and in the user group to have adequate privilege to undertae any activity. The appname_Admin can then be assigned to specific objects and a user must be a pat of this group to see/interact with them. For example, an admin options button can be set for appname_Admin use and only users in this groups will see it.  

For applications created in versions earlier than 9.0, you must create these user groups. 

Configuring Application User Privileges 
Anchor
appuser
appuser

General Application Users require the following privilege as a minimum. These can be setup in a bespoke role depending on your requirements, or alternatively use the prebuilt User role:

  • Run Actions
  • View Applications
  • View Dashboards
  • View Data
  • View Components
  • View Styles
  • View Filters
  • View Menu Items
  • View Menus
  • View Streams
  • View Stream Actions
  • View Stream Views
  • View Styles

Application Administrators, requirements will depend on your own requirements. For example these might be user users who can see everything including all data and perform any interaction. Alternatively, their role pay be administrative only and they cannot see the data in an application.

  • Any privileges required.

Roles can be Configured

If you need to configure a role as there is not a preconfigured role that suits, you can do the following:

  • either create one in the Full Repository, if you want all applications to make use the role.
  • or within an application, if you want to create a separate role for each application.

Step 1  Configure Roles and Privileges 

  1. In either the Full Repository, or the application-specific repository, click 
    Insert excerpt
    _addIcon
    _addIcon
    nopaneltrue
    .
  2. In the role properties, set Basic Settings → Name

...

  1. . For example:
    • for application users: AppUser
    • for application managers: AppAdmin
  2. In the Roles section toolbar, click 
    Insert excerpt
    _roles
    _roles
    nopaneltrue
     to open the list of roles.
  3. Drag in the

...

  • Run Stream Actions
  • View Applications
  • View Dashboards
  • View Data
  • View Components
  • View Styles
  • View Filters
  • View Menu Items
  • View Menus
  • View Streams
  • View Stream Actions
  • View Stream Views
  • View Styles

...

  1. privileges for the role.
  2.  Click 
    Insert excerpt
    _finish
    _finish
    nopaneltrue
     to save and close the new role.

If you configure the roles in the Full Repository, you only need to do this once.

Step 2  Configure Users

If PhixFlow does not already have user accounts for your application users, ask your administrator to add them; see User

Optionally Set Defaults

If a user only requires access to one application, configure Basic Settings → Default Application; see User

If a user requires a task-specific landing screen, configure Basic Settings → Default Dashboard.

Step 3  Configure User Groups in the Application

  1. In the application-specific repository, expand User Groups and open the application's user group. 
  2. Find the AppUser or AppAdmin role:
    • For roles created within the application, in the Roles section toolbar click  
      Insert excerpt
      _

...

    • roles
      _

...

    • roles
      nopaneltrue
       to

...

    • open a list.
    • For roles created in the Full Repository, open the repository in a pane next to the user group properties and navigate to the role.

...

  1. Drag the

...

  1. role

...

Planning User Access to Screens

Remember that when you design an application, you will have different types of user. For each type of user you must:

...

  1. from the list/repository into the Role section.
  2. In the Users section of the user group properties, 
    Insert excerpt
    _user
    _user
    nopaneltrue
     to open a list.
  3. Drag users from the list into the Users section.

Restricting Access

Any application user can access all data and actions, unless you specifically configure restrictions.


Note

In general, we recommend providing all users with access to screens, tables, views and actions, as providing user access per item becomes complex and hard to manage. 

For the following items, their properties include options that are ticked by default.

  • screens:
    • Public
    • All Users Can View Data
  • tables: All Users Can View Data

...

  • views: All Users Can View Data

...

...

...

  •  All Users Can Run Action

...

For greater control over access to

...

Note

This can easily become complex and hard to manage.

...

parts of your application, you can consider restricting access.

  1. For the item you want to restrict, untick All Users Can...
    For screens, also untick Public.
  2. PhixFlow displays properties to which you can add specific user groups.

Restricting access is most useful for where you want specific people:

  • to perform key actions, such as approval or deletion.
  • to access parts of your application.

In this case, you apply the restriction to actions on a button. The following section explains how configure user groups and privileges to create more complex access options.

Controlling Access Using Action Buttons 
Anchor
buttons
buttons

  1. Create a set of user groups to represent all application user roles.
  2. To each user group, add access to the actions buttons that the group of users need to access:
    •  tasks
    •  other

...

    • screens
  1. Only associate the privileges specifically for this role, not for this role and everything “underneath” it.

...

  1.  
  2. At least one user group must contain the

...

  1. AppUser role.
  2. Layer the user groups onto the users so that they end up with the access they need.