Class: LicenseManager

@nginstack/engine/lib/license/LicenseManager~ LicenseManager


new LicenseManager()

Classe que permite criação e o controle das licenças de uso do sistema.

Methods


<static> getInstance()

Obtém uma instância compartilhada desta classe.

Returns:
Type
LicenseManager

addLicense(license, administratorPassword)

Adiciona uma licença de uso.

Parameters:
Name Type Description
license string

Licença criada pelo método createLicense.

administratorPassword string

Senha do usuário administrator. No primeiro licenciamento, será utilizada para definir a senha do usuário administrator. Nos licenciamentos seguintes, será verificado se é a senha atual do administrator.

See:

createLicense(licenseInfo, userName, password)

Cria uma licença de uso para um produto.

Parameters:
Name Type Description
licenseInfo Object

Dados da licença a ser criada.

Properties
Name Type Description
product number

Chave do produto que será licenciado.

licenserKey number

Chave única do licenciador identificará esta licença. É importante que um relicenciamento informe a mesma licenserKey da licença original, pois caso contrário o sistema entenderá como uma nova instalação e invalidará todo o cadastro de usuários existente.

licenseType string

Flag que define como será controlado o uso do produto:
  - "C" (connection): pela quantidade de conexões simultâneas ao banco de dados.
  - "U" (user): pela quantidade de usuários logados.
  - "P" (processor): pela quantidade de processadores dos iEngine que possuam acesso direto ao banco de dados.
  - "X" (custom): não será controlado pelo sistema. O produto deverá possuir um mecanismo próprio para controlar o uso da licença.

quantity number

Quantidade máxima de acessos permitida. Seu significado irá variar de acordo com o parâmetro licenseType.

extensions number | Array.<number>

Chave ou uma lista de chaves das extensões do produto que devem ser habilitadas na base licenciada. Extensões são recursos opcionais de um produto que podem ser ativados ou não em um cliente dependendo da natureza da sua operação. Ver a documentação da classe "Extensões de produto" (-1898140325) para mais detalhes.

expiration Date

Data de validade da licença.

licenseeName string

Nome da empresa que está sendo licenciada.

licenseeId string

Identificação legal da empresa que está sendo licenciada.

userName string

Nome do usuário que está criando a licença. O usuário tem que ter permissão de licenciar o produto informado.

password string

Senha do usuário que está criando a licença.

See:
Returns:

Texto codificado com a nova licença. Esta string deve ser passada como parâmetro para o método addLicense() na base de dados que será licenciada.

Type
string

decryptLicensedData(data, product [, opt_extension])

Descriptografa um dado previamente criptografado pelo método #encryptLicensedData apenas se a base de dados corrente satisfizer os requerimentos de licenciamento solicitados no momento da encriptação. Será gerado um erro caso a base não satisfaça os requerimentos de licenciamento.

Parameters:
Name Type Argument Description
data string

Dado a ser descriptografado.

product number

Produto ao qual os dados criptografados estão associados. Será gerado um erro se os dados tiverem sido criptografados pela chave de um outro produto.

opt_extension number <optional>

Extensão do produto ao qual os dados criptografados estão associados. Será gerado um erro se os dados tiverem sido criptografados associados a uma outra extensão.

Returns:

Dado descriptografado.

Type
string

encryptLicensedData(data, requirements, productPrivateKey)

Criptografa uma string que somente poderá ser descriptografada em uma base de dados licenciada com os dados de licenciamento requeridos.

Parameters:
Name Type Description
data string

Dado a ser criptografado.

requirements Object

Dados de licenciamento exigidos na base de dados para que o dado pode ser descriptografado.

Properties
Name Type Argument Description
product number

Chave do produto que deverá estar licenciado para que o dado seja descriptografado.

extension number <optional>

Chave da extensão de produto que deverá estar licenciado para que o dado seja descriptografado.

licenseeName string <optional>

Nome da empresa licenciada que poderá descriptografar o dado.

licenseeId string <optional>

Identificação legal da empresa licenciada que poderá descriptografar o dado.

licenserKey number <optional>

Chave da licença que deve estar registrada na base licenciada.

licensedProducts number | Array.<number> <optional>

Chaves dos produtos que devem estar licenciados além do produto utilizado para encriptar os dados.

productPrivateKey string

Chave privada RSA associada ao produto. A chave é gerada na criação do produto e é de conhecimento exclusivo da empresa desenvolvedora do produto.

Returns:

Dado criptografado que poderá ser lido apenas em uma base de dados que satisfaça os requerimentos de licenciamento.

Type
string

getIssuableLicenses(userKey)

Obtém as chaves dos produtos que podem ser licenciados pelo usuário informado.

Parameters:
Name Type Description
userKey number

Chave do usuário

See:
Returns:

Chaves dos produtos que podem ser licenciados.

Type
Array

getUsedProductsByUser(userKey)

Obtém as chaves do produtos utilizados por um usuário. Utilizado pelo controle de licenciamento para definir quais licenças devem ser consumidas quando o usuário realiza um login no sistema.

Este método verifica apenas se o usuário tem acesso de visão às classes filhas de "/products" o que é um conceito incompleto do que é o consumo de um produto. Há códigos mais relevantes no diretório "/Menu" quando o Web Framework é utilizado ou consumo de APIs HTTP que são desconsiderados por este método. Por esse motivo, o seu uso não é recomendado.

Parameters:
Name Type Description
userKey number

Chave do usuário

Deprecated:
  • Utilize lógicas especializadas para os produtos que terão o uso controlado.
Returns:

Chaves dos produtos que o usuário utiliza.

Type
Array

isLicensed(product [, opt_extension])

Determina se um produto e opcionalmente uma extensão foram licenciadas para uso na base corrente.

Parameters:
Name Type Argument Description
product number

Chave do produto a verifica se encontra-se licenciado.

opt_extension number <optional>

Chave da extensão a verificar se encontra-se licenciada.


populateLicenseUseTable()

Preenche os registros da tabela iLicenseUse de acordo com as licenças disponíveis na tabela iLicense. Este método é executado automaticamente pelo addLicense() e é útil apenas para a migração para o novo modelo de licenciamento.


setIssuableLicenses(userKey, productKeys, passwords)

Define os produtos que poderão ser licenciados pelo usuário informado.

Parameters:
Name Type Description
userKey number

Chave do usuário

productKeys Array

Array com as chaves dos produtos. Informe "null" para retirar o poder de licenciamento do usuário.

passwords Array

Array com as senhas dos produtos

See: