|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Connection
Objeto que representa uma forma de acesso a um barramento.
Uma conexão representa uma forma de acesso a um barramento. Basicamente, uma conexão é usada para representar uma identidade de acesso a um barramento. É possível uma aplicação assumir múltiplas identidades ao acessar um ou mais barramentos criando múltiplas conexões para esses barramentos.
Para que as conexões possam ser efetivamente utilizadas elas precisam estar autenticadas no barramento, que pode ser visto como um identificador de acesso. Cada login possui um identificador único e é autenticado em nome de uma entidade, que pode representar um sistema computacional ou mesmo uma pessoa. A função da entidade é atribuir a responsabilidade às chamadas feitas com aquele login.
É importante notar que a conexão só define uma forma de acesso, mas não é
usada diretamente pela aplicação ao realizar ou receber chamadas, pois as
chamadas ocorrem usando proxies e servants de um ORB
. As conexões que
são efetivamente usadas nas chamadas do ORB são definidas através do
OpenBusContext
associado ao ORB.
Method Summary | |
---|---|
String |
busid()
Recupera o identificador do barramento ao qual essa conexão se refere. |
LoginInfo |
login()
Recupera as Informações do login dessa conexão ou null se a
conexão não está autenticada, ou seja, não tem um login válido no
barramento. |
void |
loginByCertificate(String entity,
PrivateKey privateKey)
Efetua login de uma entidade usando autenticação por certificado. |
void |
loginByPassword(String entity,
byte[] password)
Efetua login de uma entidade usando autenticação por senha. |
void |
loginBySharedAuth(LoginProcess process,
byte[] secret)
Efetua login de uma entidade usando autenticação compartilhada. |
boolean |
logout()
Efetua logout da conexão, tornando o login atual inválido. |
InvalidLoginCallback |
onInvalidLoginCallback()
Recupera a callback a ser chamada sempre que o login se torna inválido. |
void |
onInvalidLoginCallback(InvalidLoginCallback callback)
Callback a ser chamada quando o login atual se tornar inválido. |
ORB |
orb()
Recupera o ORB correspondente ao OpenBusContext a partir do
qual essa conexão foi criada. |
LoginProcess |
startSharedAuth(OctetSeqHolder secret)
Inicia o processo de login por autenticação compartilhada. |
Method Detail |
---|
ORB orb()
ORB
correspondente ao OpenBusContext
a partir do
qual essa conexão foi criada.
String busid()
LoginInfo login()
null
se a
conexão não está autenticada, ou seja, não tem um login válido no
barramento.
void loginByPassword(String entity, byte[] password) throws AccessDenied, AlreadyLoggedIn, ServiceFailure
A autenticação por senha é validada usando um dos validadores de senha definidos pelo adminsitrador do barramento.
entity
- Identificador da entidade a ser autenticada.password
- Senha de autenticação no barramento da entidade.
AlreadyLoggedIn
- A conexão já está autenticada.
AccessDenied
- Senha fornecida para autenticação da entidade não
foi validada pelo barramento.
ServiceFailure
- Ocorreu uma falha interna nos serviços do
barramento que impediu a autenticação da conexão.void loginByCertificate(String entity, PrivateKey privateKey) throws AlreadyLoggedIn, AccessDenied, MissingCertificate, ServiceFailure
A autenticação por certificado é validada usando um certificado de login registrado pelo adminsitrador do barramento.
entity
- Identificador da entidade a ser autenticada.privateKey
- Chave privada correspondente ao certificado registrado a
ser utilizada na autenticação.
AlreadyLoggedIn
- A conexão já está autenticada.
AccessDenied
- A chave privada fornecida não corresponde ao
certificado da entidade registrado no barramento indicado.
MissingCertificate
- Não há certificado para essa entidade
registrado no barramento indicado.
ServiceFailure
- Ocorreu uma falha interna nos serviços do
barramento que impediu a autenticação da conexão.LoginProcess startSharedAuth(OctetSeqHolder secret) throws ServiceFailure
A autenticação compartilhada permite criar um novo login compartilhando a
mesma autenticação do login atual da conexão. Portanto essa operação só
pode ser chamada enquanto a conexão estiver autenticada, caso contrário a
exceção de sistema NO_PERMISSION
[NoLoginCode
] é lançada. As
informações fornecidas por essa operação devem ser passadas para a operação
loginBySharedAuth
para
conclusão do processo de login por autenticação compartilhada. Isso deve
ser feito dentro do tempo de lease definido pelo administrador do
barramento. Caso contrário essas informações se tornam inválidas e não
podem mais ser utilizadas para criar um login.
secret
- Segredo a ser fornecido na conclusão do processo de login.
ServiceFailure
- Ocorreu uma falha interna nos serviços do
barramento que impediu a obtenção do objeto de login e segredo.void loginBySharedAuth(LoginProcess process, byte[] secret) throws AlreadyLoggedIn, InvalidLoginProcess, AccessDenied, ServiceFailure
A autenticação compartilhada é feita a partir de informações obtidas a
através da operação startSharedAuth
de uma conexão autenticada.
process
- Objeto que represeta o processo de login iniciado.secret
- Segredo a ser fornecido na conclusão do processo de login.
InvalidLoginProcess
- O LoginProcess informado é inválido, por
exemplo depois de ser cancelado ou ter expirado.
AlreadyLoggedIn
- A conexão já está autenticada.
AccessDenied
- O segredo fornecido não corresponde ao esperado
pelo barramento.
ServiceFailure
- Ocorreu uma falha interna nos serviços do
barramento que impediu a autenticação da conexão.boolean logout() throws ServiceFailure
Após a chamada a essa operação a conexão fica desautenticada, implicando
que qualquer chamada realizada pelo ORB usando essa conexão resultará numa
exceção de sistema NO_PERMISSION
[NoLoginCode
] e chamadas
recebidas por esse ORB serão respondidas com a exceção
NO_PERMISSION
[UnknownBusCode
] indicando que não foi
possível validar a chamada pois a conexão está temporariamente
desautenticada.
true
se o processo de logout for concluído com êxito e
false
se a conexão já estiver desautenticada (login
inválido) ou se houver uma falha durante o processo remoto do
logout.
ServiceFailure
- Ocorreu uma falha interna nos serviços do
barramento durante chamada ao remota.void onInvalidLoginCallback(InvalidLoginCallback callback)
Esse atributo é utilizado para definir um objeto que implementa uma
interface de callback a ser chamada sempre que a conexão receber uma
notificação de que o seu login está inválido. Essas notificações ocorrem
durante chamadas realizadas ou recebidas pelo barramento usando essa
conexão. Um login pode se tornar inválido caso o administrador
explicitamente o torne inválido ou caso a thread interna de renovação de
login não seja capaz de renovar o lease do login a tempo. Caso esse
atributo seja null
, nenhum objeto de callback é chamado na
ocorrência desse evento.
Durante a execução dessa callback um novo login pode ser restabelecido.
Neste caso, a chamada do barramento que recebeu a notificação de login
inválido é refeita usando o novo login, caso contrário, a chamada original
lança a exceção de de sistema NO_PERMISSION
[NoLoginCode
].
callback
- Objeto que implementa a interface de callback a ser chamada
ou null
caso nenhum objeto deva ser chamado na
ocorrência desse evento.InvalidLoginCallback onInvalidLoginCallback()
null
caso ela não exista.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |