Technical documentation - Permissions on functions in web viewer and data

This article describes the existing permission resources (permissions to functions) and the permissions solution in Signifikant.

Overview

The permissions functionallioty is based on two concepts; permissions and groups.

  • Permissions is used internally in the application to control access to a function or to data. Permissions can control functions (as defined in the application) or data (as defined in data). 

  • Groups are a list of permissions defined in permissions.config.

Users in the web viewer will internally have a list of permissions associated to the user. The list of permissions an user has is a union of several sources: 

  1. User may have groups connected to the user. These groups come from either an external source as an AD or from the web viewer server database. The groups will give the permission.

  2. User may be connected to an organisation which has groups. The groups will give the permission.

  3. User may have used the call centre function and selected a proxy user or proxy organisation. User will the get the groups associated with the proxy user or proxy organisation. See Call centre and local admin.

  4. The site may have permissions set on the site. User will get the permissions on the site

Permissions.config

Permissions.config is used to enable permissions control of functions and to add permissions control on data. It is also used to map permissions to groups.

Server DB and external providers of permissions

When communicating access rights with an external system as an AD, SAML or ADFS solution, communication will always be based on groups. When saving access rights on users to the server database, the groups will be saved. Actual permissions will never be saved in server database or communicated with external systems. Internal permissions may change over time, so groups will be used to avoid migration of set permissions of users and changes in APIs.

So permissions.config will have to be used to define the interface with server database and external solutions.

Permissions to functions in web viewer

The below permissions are used to control access to functions within Signifikant. If a user does not have permission to a function, user will not see the function.

Permission names

Description 

AddToOrderCart

Access to add parts to order cart  (‘add-to-order’ cart button). 

From version 5.0 and later it is possible to set the default permission on AddToOrderCart. <EnableAddToOrderCartDefaultPermission> is used to set the default permission.

Administration

Access to administration module.

AssetAnnotations

User with this permission can view/create annotations ( note) on asset

AssetOwnership

Allows user to see asset ownership and modify notes. See Available in version 5.1 and later.

Assets

User with this permission can search for and view assets

Availability

User can see availability, as an icon based on availability level. E.g. X for not available.

AvailabilityValue

User can see availability level, actual value

Bulletin

Access to bulletin module.

CardPayment

 

CashPayment

 

CatalogueReport

Access to function to download catalogue report. Available in version 5.3 and later.

ClaimsAdmin

User can access My Claims view if the user belongs to group of ClaimsAdmin resource.

ClaimsManager

User can Manage Claims view if the user belongs to group of ClaimsManager resource.

CompanyAdministration

Access to Create/update company details and create/update users and access to order received to company.

DeliveryOption

Access for user to change delivery options.

Download

Access to download function.

EditPresentation

User with this permission can edit a presentation.

EditAssets

Users can add, edit and import assets

EditBillingAddress

User can edit billing address under MyAccount. EditBillingAddress function need to be turned on.

EditPresentation

Will give user access to edit presentation (part) in web viewer, for web viewers accessing editor database.

EditShippingAddress

User can edit shipping address under MyAccount. EditShippingAddress function need to be turned on.

Favourites

User can access Favourites funciton.

Feedback

Access to feedback module.

FlexibleSparePartSelection

Allow user to select if automatic replacement is enabled or not. By default, automatic replacement is turned on and user cannot turn off. This permission makes it possible for user to turn off.
User will also get add button on all sellable parts in the replacement chain. Available in version 5.3 and later.

InvoicePayment

 

Invoices

User with this permission can view My orders section.

LocalAdministrators

User has access to local admin function. Note that any user having Administration permission will see full administration and not local admin function.

LoginPermission

Access to login. This function is used to be able to approve users before they are allowed to sign in.

MarketSelector

Access to market selector, if markets is turned on. Available in version 5.2 and later.

MyAccount

Access to my account module. This permission also allows user to add notes if notes function is enabled.

MyAssets

Access to my assets page. See Available in version 5.1 and later.

MyOrders

Access MyOrders menu. This permission also allow user to look at the order history.

Order

 

OrderType

Access to OrderType selector.

PartListReport

User has permission to access part list report function. Available in version 5.2 and later.

PartListReportDownload

User has permission to download part list report. Available in version 5.2 and later.

PartReplacement

Access to view Part replacement history.

PaymentAdministration

 

PaymentLink

 

PlaceOrder

Access to place order. This permission also allow user to save order.

Note that user without permission will actually see place order and save buttons, but will get directed to login page if pressing any of these buttons.

Price

User can see price.

PriceDisplayModes

Users can choose to show discounts in settings.

Quotation

Access to create quotation.

PriceDisplayModes

User with this permission group can choose to show discounts in User settings

ShoppingList

Permission to see shopping list buttons and shopping list icon in toolbar. Available in version 5.0 and later.

Site

Allows a user to access a specific site. If not activated, all users can access all sites. Admins can always access all sites.

SupportCentre

User has access to support centre function.

Synchronize

Access to synchronize data to offline viewer from web-viewer.

System

Default access.

TemporaryBillingAddress

User can edit billing address on order page to create a temporary billing address. 

TemporaryShippingAddress

User can edit shipping address on order page to create a temporary shipping address. 

TerminalPayment

 

Ticket

User can access Ticket function if the user belongs to group of Ticket resource.

Permissions to data

Permissions may be created on information in the system. Permission can be any names and there can be an unlimited number of permission created.

Permissions can be put on parts, part assemblies, catalogues, documents, content sets. Permissions may also be put on presentation types, which may be used to create a permission on an information type. E.g. some parts may be restricted and these parts are classified as restricted parts using presentation type. A permission can now be put on this presentation type. Note that information may only be one presentation type.

Handling permissions to data in Manager

Permissions can be set on data in Manager. Nodes and Presentations may have permissions. At publish it is possible to limit which permissions are actually published to a web server or to an offline version. This function allows to limit the actual data available on a remote installation.

 

Which permissions are available to select in the Manager is controlled by permissions.config located on the Manager server. The permissions.config is located in on of the folders: 

Primary at custom level: C:\ProgramData\Signifikant\Assert\Customize Fallback at server level: C:\ProgramData\Signifikant\Assert

Version 5.0 information

In version 5.0 permissions to functions in Manager is introduced. Data permissions have to be tagged in permissions.config to appear as permissions on data. Read more:

WebViewer

If Signifikant Web Viewer is used for administrating users and groups permissions, admin will be able to select groups (0 or more) on each user. The permissions are available under each user in the admin section of the Web Viewer.

Which permissions are available to select in the Web Viewer is controlled by permissions.config and profile.config located on the web server. By default the groups will be displayed in the web viewer, as in the screen dump above.

Templates

Profile.config can be used to define a set of groups and templates for users and organisations. The groups will become possible access rights choices in the web viewer and the templates will become a drop down to set several access rights choicesby just making one choice. A clarifyinmg text can be added. All will at the end be mapped to permissions.

The drop down in the web viewer will be populated by the settings in the <PermissionsTemplate> block in profile.config.

Permission templates
<PermissionTemplates> <PermissionTemplate> <Name>Default</Name> <GroupNames>Price,PriceDisplayModes,PlaceOrder,Bulletin,Availability,MyAccount,SafetyParts</GroupNames> </PermissionTemplate> <PermissionTemplate> <Name>Default Temporary Shipping Address</Name> <GroupNames>Price,PriceDisplayModes,PlaceOrder,Bulletin,Availability,MyAccount,SafetyParts,TemporaryShippingAddress</GroupNames> </PermissionTemplate> </PermissionTemplates>

The descriptions on the groups shown in the web viewer is fetched from the <PermissionGroups> block in profile.config.

PermissionGroups
<PermissionGroups> <PermissionGroup> <Name>Administrators</Name> <Description>Permission to administer users, pricelists</Description> </PermissionGroup> <PermissionGroup> <Name>LocalAdministrators</Name> <Description>Permission to administer users in a region</Description> </PermissionGroup> </PermissionGroups>

Default permission

It is possible to define which permissions a user should get when the user is created. This is done in profile.config using UserDefaultGroupsList.

It is also possible to define a set of permissions which a site should have by default. Using this setting will make any user, signed in or not, to get these permissions.

Permissions.config

The permissions.config is located at: 

If permissions.config exist in both App_Data and in App_Data\<site>, the version in <site> will be used.

<Id>1</Id>

This is integer value written in incremental way.

<Enabled>true</Enabled>

true or false will disable or enable Permission. If false, access control will be turned off for that function and users will be allowed to access the function.

<Name>MyAccount</Name>

This holds the name of Permission resource.

<DataPermissionEnabled>

Version 5.0 and later. If true this permission will appear as a permission on data in Manager. 

<Note>Users can access MyAccount settings</Note>  

Description of permission.

<Groups>
  <string>EndClient</string>
</Groups>

Groups hold the role applied to user.

To apply permission or enable permission.Write the permission setting as per below example in permission.config file.

ResourcePermissions

 

Debugging permissions on users is sometimes needed.

See for actual how permissions on a signed in users may be retrieved.