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
-
clientId :string
-
Identificador único associado ao dispositivo ou navegador utilizado pelo cliente no acesso ao sistema.
Esta propriedade somente estará preenchida se o realm desta sessão estiver configurado com a propriedade clientTrackingEnabled ativa.
Type:
- string
-
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:
-
- module:@nginstack/engine/lib/security/AuthToken~AuthToken#scope
- module:@nginstack/engine/lib/security/Security~Security#getUserScope
-
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
-
trackingId :string
-
Esta é uma propriedade que, se definida, será utilizada para preencher o campo iTag da tabela iLog em todas as alterações realizadas nos registros do sistema nesta sessão.
Com o preenchimento do trackingId, é possível agrupar os registros na iLog por tag, facilitando a auditoria e desfazimento das alterações. Para desfazer versões por iTag, pode ser utilizada a função
undoLogByTag(iTag)
.Recomenda-se que a string utilizada nesta propriedade seja um identificador único. Para isso, pode ser utilizada a função
createGUID(removeFormatChars)
.Todas as instâncias de
Connection
eDatabase
criadas nesta sessão utilizarão o identificador de rastreio configurado, ao não ser que a propriedadetrackingId
dessas instâncias tenha sido configurada com um valor diferente.Type:
- string
-
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(accessToken)
-
Efetua o login na sessão utilizando um token criado anteriormente pela classe AuthToken.
O token criado deve ser autorizado utilizando os métodos Session.authorizeToken ou Security.authorizeToken, momento em que será gerado o token de acesso esperado por este método.
Parameters:
Name Type Description accessToken
string Token de acesso gerado pelos métodos Session.authorizeToken ou Security.authorizeToken.
-
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.
-
setPassword(newPassword)
-
Altera a senha do usuário logado na sessão.
Parameters:
Name Type Description newPassword
string Nova senha do usuário.
-
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.