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.

Members


<static> defaultLicenseVersion :number

Versão mais atual da geração de códigos de licença.

Type:
  • number

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 Argument Description
license string

Licença criada pelo método createLicense.

administratorPassword string <optional>

Senha do usuário administrator. Caso não seja informada, será verificado se o usuário da sessão corrente possui o escopo de autorização para adicionar licenças.

See:

createLicense(licenseInfo [, userId] [, password])

Cria uma licença de uso para um produto.

Parameters:
Name Type Argument Description
licenseInfo Object

Dados da licença a ser criada.

Properties
Name Type Argument Description
product number

Chave do produto que será licenciado.

licenserKey number <optional>

Chave única do licenciador que identificará esta licença. É importante que ao atualizar o licenciamento de uma base de dados seja informado o mesmo valor de licenserKey do licenciamento original. Caso seja informado um valor diferente, o sistema entenderá como uma nova instalação e invalidará as senhas dos usuários cadastrados.

licenseVersion number <optional>

Número inteiro que identifica o formato da licença a ser gerada. Deve ser informado apenas quando for necessário gerar licenças para bases de dados que não estejam utilizando a última versão da plataforma. Atualmente, são suportadas as seguintes versões de licença:

4: versão padrão, utilizada quando não é uma informada uma versão específica. Suportada pelo Engine 44 ou superior. 3: versão que utiliza chaves de 32 bits. Suportada pelo Engine 43 ou inferior.

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 nominais na base de dados.
  • "S" (simultaneous user): pela quantidade de usuários simultâneos na base de dados.
  • "P" (processor): pela quantidade de processadores dos Engine 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.

userId string <optional>

Nome ou e-mail do usuário que está criando a licença. O usuário tem que ter permissão de licenciar o produto informado. Caso não seja informado, será utilizado o usuário da sessão corrente.

password string <optional>

Senha do usuário informado em userId.

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.


removeLicense(product [, administratorPassword])

Remove uma licença de uso.

Parameters:
Name Type Argument Description
product number

Chave do produto licenciado.

administratorPassword string <optional>

Senha do usuário administrator. Caso não seja informada, será verificado se o usuário da sessão corrente possui o escopo de autorização para remover licenças.

See:
Returns:

Versão das alterações ou zero caso não existam licenças a serem removidas para aquele produto.

Type
number

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: