License Management

Caution

This article is a developer friendly documentation on ASPSecurityKit’s license and subscription management. Your use of ASPSecurityKit is governed by the End User Agreement.

Evaluation restrictions

The ASPSecurityKit NuGet packages require a valid license key to unlock their full functionality. Without a license key, following restrictions apply (you can get additional relaxation if you generate a trial key):

  • Upto 15 operations are permitted. An operation means a controller action (ASP.NET) or request DTO (ServiceStack). Multiple action methods by the same name are counted as one operation in ASP.NET because MVC web apps typically need both GET and POST action methods for an operation.
  • Runtime execution upto 15 minutes. You need to restart application after 15 minutes to continue with evaluation. Restart doesn’t mean you need to restart the Visual Studio if you’re running a web application through it while trying out/developing a code sample; it only means that you’ve to re-run the debug session of the application by first stopping and then starting it again.
  • Localhost is the only hostname Permitted. Basically the web application running locally (in Visual Studio) over http[s]://localhost:<port>/.

To try out ASPSecurityKit, refer this page for instructions and walkthroughs.

Trial key

You can now generate a trial key to aid in evaluating ASPSecurityKit with tutorials like SuperCRM. As of this writing, such a trial key extends number of allowed operations up to 50, runtime validity up to 1 hour and the key expires after 1 month (30 days) from the date of its creation. The actual validity details for a trial key are also shown after it is successfully generated.

You may also get trial keys as part of some ASPSecurityKit samples (like SuperFinance). These trial keys define restrictions (though less restrictive especially in terms of number of operations permitted) of their own.

Regardless of the source from where the trial key has come, it is strictly provided for evaluating ASPSecurityKit and shouldn’t be used for any other purpose (including creating customer prototypes).

Key Terms

License Key

A license key removes the trial restrictions on the use of related ASPSecurityKit libraries. Though a license key itself never expires, but it’s only valid for versions of related ASPSecurityKit library packages released during the term of the subscription, captured at the time of its generation or update. Check out the other validity conditions of a license key.

Buy a project subscription to generate a license key for the project.

Extending the term of the subscription doesn’t automatically extend the license key validity; you need to update the license key in your project once you renew the subscription to extend its validity.

Subscription

A project subscription (or just subscription) on the dashboard determines the duration for which you continue to get updates released for relevant ASPSecurityKit library packages. A subscription is the primary entity to manage developer licenses and source packages. A subscription is also known as project license because it’s limited to generate the license key for only one application project. This is so you can manage developer licenses separately for each project as the projects' team size may likely vary. You can buy and manage as many subscriptions as you want on the dashboard.

Source packages are also available for purchase as an add-ons to subscriptions and the pricing/etc. of source packages depend on the subscription’s plan.

Developer License

A developer license represent exactly one developer permitted to work on a project that uses ASPSecurityKit. While buying a subscription You need to specify number of developers you anticipate to work on the project. You can add more developers as the size of the team grows. Failing to do so is a violation of the license terms.

Application Project/Assembly

In the context of license key, the term ‘application project’ (or just ‘project’) refers to the primary project of the web application (whether MVC or API service). You generate license key for this primary project. Since all projects compile to .NET assemblies, we can also refer to the primary project as ‘application assembly’ when talking about the license key constraints.

License key validity

  • A license key is only valid for the application project it’s generated. Make sure it’s the application’s primary project. If you change the assembly name or primary platform of the project, the license key is no longer valid, for example. You can however, update the license key. Currently, you’re allowed to regenerate the license key with the new assembly name once. If you’re required to change these characteristics of the application assembly and you’ve exhausted the limits on regeneration, contact us at [email protected] and we’ll be happy to assist you.
    Note: Regarding use of multiple ASK’s platform assemblies (MVC and API), designated mix use is permitted.
  • A license key is only valid for the number of developers specified on the subscription at a given moment. You can add more developers to the subscription as soon as more developers are recruited to work on the project.
  • As stated above, a license key is valid for ASPSecurityKit library packages versions released upto the expiry date of the subscription captured at the time of its generation or update.

Permissible mix use

Though a license key is bound to a particular platform (such as ASP.NET MVC), yet some mix use is permitted to enable you take advantage of having both MVC and API frameworks in the same web application. Following mix use is permissible:

Note: the question of mix use only arises when you use multiple platform packages of ASPSecurityKit in a web application. There’s no restriction on using anything in your project if you don’t need a supporting ASPSecurityKit package for it. Hence the permissible mix use table below is only indicating the additional ASPSecurityKit platform packages permitted with the license key generated for the given primary platform.

Primary Platform Additional Platforms Permitted
ASP.NET Core Mvc ASP.NET Core API, ServiceStack (.NET Core)
ASP.NET Framework Mvc ASP.NET Framework Web API, ServiceStack (.NET Framework)
ASP.NET Core API ASP.NET Core Mvc
ASP.NET Framework Web API ASP.NET Framework Mvc
ServiceStack (.NET Core) ASP.NET Core Mvc
ServiceStack (.NET Framework) ASP.NET Framework Mvc

Generating license key

Follow these steps to generate the license key.

Registering license key

Once license key is generated, you need to register it with ASPSecurityKit library upon application startup. Use the appropriate method of the License type to do the same. Make sure that call to any of the register methods is the first call during startup (preceding initialization of every other ASPSecurityKit component).

All Source packages come with a logic that makes call to License.TryRegisterFromExecutionPath which instructs ASPSecurityKit to automatically locate and register the license key from file in predefined locations.

Updating license key

You may need to update license key in the following scenarios:

  • To extend the license key validity once you extend (renew) the subscription term. As stated in the prior section, extending the term of the subscription doesn’t automatically extend the license key validity; you need to update the license key explicitly. Once you do that, the license key becomes valid for ASPSecurityKit packages versions released upto the new expiry date of the subscription captured at the time of update.
  • If you change the name or platform of the application project, and if we have accepted the same, you would update the license key to make it valid for these changes.

Follow these steps to update the license key.

Buy new subscriptions

There are multiple ways to buy a new subscription (ASPSecurityKit project license):

  • If you haven’t signed up on the dashboard yet, you can start purchase here. This will also setup your account based on email and other information you provide during purchase.
  • If you already have an account on the dashboard, follow the below steps which also allows you to buy multiple project licenses at once.
  1. Navigate to My Subscriptions.
    Showing the subscriptions
  2. Click on the ‘Add more projects’ button appearing to the right of ‘Project Subscriptions’ title (above the subscriptions grid). The ‘Add More Projects’ dialog appears.
    Showing add more projects button highlighted
  3. Choose the plan applicable to you.
  4. Specify number of developers to work on the project. This can be an initial indicative number; you can and should add more developers as the size of the team grows.
    Showing add project popup with buyer information filled
  5. If you want to buy subscriptions (licenses) in bulk (for multiple projects), you can click on ‘Add project’ button.
    • Specify number of developers for each project license you want to buy.
    • However, you can’t choose different plans for different projects in bulk purchase.
      Add more projects popup with multiple projects with varying developer count
  6. Review/change billing information and proceed with payment.
    Add more projects payment details popup

Manage subscriptions

Navigate to My Subscriptions. There are two grids on this page:

  1. Project Subscriptions
    • Lets you review details related to purchased subscriptions, add new subscriptions, add more developers to an existing subscription, view license consumption details, add source packages to the subscription and view source packages associated with the subscription and its consumption.
  2. Source Packages
    • Provides you with a direct review to the available source packages and their consumption (download) details either by source package (regardless of the subscription(s) it belongs to) or by subscription and source package. Also lets you buy more source packages in bulk.
Showing project subscriptions and bought source packages

Buy more developer licenses

  1. Navigate to My Subscriptions.
    Showing the subscriptions
  2. From the ‘Project Subscriptions’ grid, locate the subscription (project license) to which you want to add developers.
    Showing add more developer button highlighted
  3. Click on the ‘Add more’ button appearing in the ‘Number of Developers’ column (the button is also available in the Actions menu appearing in the rightmost cell of the row). The ‘Add More Developers’ dialog appears.
  4. Specify number of developers to add to the project.
    Add more developers popup with developer count
  5. Review/change billing information and proceed with payment.
    Add more developers payment details popup

Buy source packages

  1. Navigate to My Subscriptions.
    Showing the subscriptions
  2. Click on the ‘Add more source packages’ button appearing to the right of ‘Source Packages’ title (above the source packages grid). The ‘Add More packages’ dialog appears.
    Showing add more source packages button highlighted
    • You can also buy source packages using the button available in Actions menu of the subscription record in the first grid.
  3. Choose the subscription for which you want to buy source packages.
    • If you opened this dialog using the subscription’s actions menu option, the selection is already made and it is read-only.
  4. Choose the source package(s) you want to buy.
    • Neither a source package already bought and active for the selected subscription nor the source package not available to purchase for the associated plan will appear for purchase.
      Showing add more source packages popup with subscription & packages selection
  5. Review/change billing information and proceed with payment.
    Add more source packages payment details popup
Showing the added source packages in the subscriptions page