Named user licensing is a common requirement, that is typically found in
- SaaS applications: there is only one backend, receiving all incoming requests. Only one physical installation communicates with SLASCONE. The user id (username or email address) has to be unique across all end-customers.
- On Premise web applications: there are multiple physical installations (one per end-customer). The user id (username or email address) has to be unique within an end-customer, but not necessarily across all end-customers.
In both cases, one license per end-customer is necessary. This one license entitles 1:n end-users.
CREATING A NAMED USER EDITION
Named user functionality is unleashed as am edition (not a product) property. This allows you to offer both named and floating licenses for a specific product. The following parameters are important when creating/editing a named user edition:
- Provisioning Mode: Named
- Client Type: Users
- Activation upon license creation
- For SaaS: token key or customer number
- For on premise: not set
MANAGING USERS OF A NAMED USER LICENSE
Named user licenses allows you to create/edit/delete users. The list of users is part of the information returned by the SLASCONE API. In the following example, the license allows maximum 2 users. Although, you can add as many users as you want only 2 can be active.
Although, you can use the SLASCONE UI to manage the users, typically you would want to allow your end-customer to self-manage this information. This can be done
- directly in your application
- using your own customer portal
- using the SLASCONE customer portal
In a SaaS scenario, you do not need a direct license activation process/event, since licenses are automatically activated upon creation. When a user logs into the SaaS application, only the following method needs to be called:
This method returns all licenses (typically just one) associated with the user trying to log in.
Alternatively, depending on what information is available on your backend during a user log in, one of the following methods might be relevant:
This method returns an array of licenses (0-n) based on the customer_number. If the result is more than one active license, then the client application has to interpret the results accordingly (typically an additive logic is employed).
This method returns an array based on a license key (typically a subscription key).
In terms of client/api considerations, the on-premise scenario is identical to the one for named devices described here.
The activation and heartbeat methods returns all license parameters, including the list of valid users.
You can find code examples of floating licenses on our GitHub repository.