Class: Session

@nginstack/engine/lib/session/Session~ Session


new Session()

Representa a sessão JavaScript corrente, responsável pela execução do script.

Members


application :DBKey

Aplicativo ao qual esta sessão JavaScript está associada.

A associação de uma sessão a um aplicativo é realizada indiretamente por meio da propriedade module:@nginstack/engine/lib/http/RealmConfig~RealmConfig#application.

Type:
  • DBKey

createKeyLicense :number

Utilizado para habilitar a geração de chaves negativas de um produto. Deve ser informada a chave do produto (tabela iLicense) para chaves negativas ou zero para chaves positivas.
Será gerado um erro ao tentar alterar esta propriedade quando o usuário logado não tiver poder para alterar o produto informado.

Type:
  • number

id :string

Identificador único.

Type:
  • string

lastPath :string

URL do último script executado. Esta propriedade é desaconselhada e não deve mais ser utilizada.

Type:
  • string
Deprecated:
  • Yes

realm :string

Nome do realm ao qual esta sessão JavaScript pertence.

O realm de sessões tem o objetivo de isolar as sessões JavaScript com propósito comum, evitando que uma sessão JavaScript de um aplicativo seja utilizada por outro. Por meio dele, é possível indicar se a sessão deve preservar o seu estado (stateful ou stateless), além do seu tempo de vida e de inatividade. Ver module:@nginstack/engine/lib/http/RealmConfig para mais detalhes.

Type:
  • string

scope :string

Relação dos escopos de autorização permitidos na sessão corrente do usuário.

Caso a sessão tenha sido autenticada por meio de um token de autorização, será retornado o escopo desse token. Caso tenha sido via credenciais do usuário, serão retornados todos os escopos de autorização atribuídos a esse usuário.

Type:
  • string
See:

scriptURI :String|Number

Indica o script que está em execução neste ambiente.

Type:
  • String | Number

startupScriptsExecuted :boolean

Indica se o método #executeStartupScripts já foi chamado.

Type:
  • boolean

userKey :number

Chave da tabela iGroupUser que indica o usuário desta sessão. Caso o usuário não tenha realizado login, será retornado -1, chave do usuário "anonymous". Uma sessão que não tenha realizado login não tem acesso ao banco de dados.
Em bases de dados antigas, que ainda utilizam o antigo modelo de segurança, a chave retornada pode ser da tabela ENTIDADE.

Type:
  • number

userName :string

Nome do usuário logado. Corresponde ao campo iName da tabela iGroupUser do registro indicado pela propriedade session.userKey.

Type:
  • string

Methods


authorizeToken(authToken)

Autoriza um token previamente criado a ser utilizado pelo sistema. Este token será vinculado ao usuário desta sessão.

Parameters:
Name Type Description
authToken AuthToken

Token de autorização.

Returns:

Id único do token que será utilizado para restaurar ou validar uma sessão.

Type
string

executeStartupScripts()

Executa todos os registros da virtual file system que possuam o mime-type "application/x-startup" ordenados pelo campo iUrl.


limitKeyCreation(limit)

Configura o número máximo de chaves, positivas e negativas, a serem criadas em uma mesma sessão. Caso seja passado null como parâmetro, a restrição é retirada, permitindo a criação sem limite.

Parameters:
Name Type Description
limit number

Número máximo de chaves para criação.


login(userName, password)

Realiza o login da sessão, permitindo que o usuário tenha acesso a informações do banco de dados.

Parameters:
Name Type Description
userName string

Nome do usuário.

password string

Senha do usuário.

See:
Returns:

True se o usuário e a senha são válidos.

Type
boolean

loginByAuthToken(id)

Efetua login na sessão utilizando um "ID" obtido através de um objeto module:@nginstack/engine/lib/security/AuthToken~AuthToken criado anteriormente. Este token precisa ser autorizado utilizando o método Session#authorizeToken ou Security#authorizeToken para que seja válido e também para que se obtenha o "ID".

Parameters:
Name Type Description
id string

"ID" do token gerado através do método Session#authorizeToken ou Security#authorizeToken.

See:

loginByToken(token)

Realiza o login da sessão através de um token de autenticação, permitindo que o usuário tenha acesso a informações do banco de dados. Se o token é do tipo "local autenticação", não será possível executar funções que necessitem autenticação em outro servidor(executeScript).

Parameters:
Name Type Description
token string

Token de Autenticação

Deprecated:
  • Utilize a função #loginByAuthToken.
Returns:

True se o usuário foi autenticado com sucesso.

Type
boolean

logout()

Realiza o logout da sessão, impedindo que o usuário possa acessar informações do banco de dados enquanto não ocorrer um novo login.

See:

revokeAuthTokenByKey(key)

Revoga a autorização de um token, tornando-o inutilizável.

Parameters:
Name Type Description
key number

Chave do registro do AuthToken.

See:

setTimeout(minutes [, opt_hours] [, opt_days] [, opt_months] [, opt_years])

Indica o tempo máximo de inatividade da sessão. Após o período definido, a sessão não poderá ser mais utilizada e será destruída, liberando os recursos de memória alocados. Se for informado apenas o parâmetro minutes com 0, será indicado que a sessão deve ser expirada logo após a execução do script.
Este método é desaconselhado e não deve mais ser utilizado. A configuração de inatividade deve ser realizada no x-class da classe que contém o script através das propriedades "this.session.maxEnvironmentLifeTime", "this.session.maxEnvironmentInactiveTime" e "this.session.maxSessionInactiveTime".

Parameters:
Name Type Argument Description
minutes number
opt_hours number <optional>
opt_days number <optional>
opt_months number <optional>
opt_years number <optional>

updateAuthToken(authToken)

Atualiza um token previamente autorizado pelo método Security#authorizeToken. Após a autorização de um token, apenas as propriedades module:@nginstack/engine/lib/security/AuthToken~AuthToken#description e module:@nginstack/engine/lib/security/AuthToken~AuthToken#expires podem ser modificadas.

Parameters:
Name Type Description
authToken AuthToken

Token que terá as suas propriedades atualizadas.

See: