Commit 23e183ac authored by Renato Figueiro Maia's avatar Renato Figueiro Maia

[OPENBUS-2707] (Lua) Adicionar suporte a domínios de autenticação de senha

- Adaptando demos para passar um domínio de autenticação por senha.

git-svn-id: https://subversion.tecgraf.puc-rio.br/engdist/openbus/sdk/lua/trunk@161212 ae0415b3-e90b-0410-900d-d0be9363c56b
parent be563c94
......@@ -3,11 +3,12 @@ local openbus = require "openbus"
-- process command-line arguments
local bushost, busport, entity, password = ...
local bushost, busport, entity, domain, password = ...
bushost = assert(bushost, "o 1o. argumento o host do barramento")
busport = assert(busport, "o 2o. argumento a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento um nmero de porta")
entity = assert(entity, "o 3o. argumento a entidade a ser autenticada")
domain = assert(domain, "o 4o. argumento o dominio da senha de autenticao")
local params = {
bushost = bushost,
busport = busport,
......@@ -26,8 +27,9 @@ local repID = "IDL:Messenger:1.0"
-- call in protected mode
local ok, result = pcall(function ()
-- login to the bus
OpenBusContext:getCurrentConnection():loginByPassword(entity, password
or entity)
OpenBusContext:getCurrentConnection():loginByPassword(entity,
password or entity,
domain)
-- find the offered service
local OfferRegistry = OpenBusContext:getOfferRegistry()
return OfferRegistry:findServices{
......
......@@ -4,14 +4,15 @@ local openbus = require "openbus"
-- process command-line arguments
local bushost, busport, entity, password, interval, timeout = ...
local bushost, busport, entity, domain, password, interval, timeout = ...
bushost = assert(bushost, "o 1o. argumento o host do barramento")
busport = assert(busport, "o 2o. argumento a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento um nmero de porta")
entity = assert(entity, "o 3o. argumento a entidade a ser autenticada")
interval = assert(tonumber(interval or 1), "o 5o. argumento um tempo entre "..
domain = assert(domain, "o 4o. argumento o dominio da senha de autenticao")
interval = assert(tonumber(interval or 1), "o 6o. argumento um tempo entre "..
"tentativas de acesso ao barramento em virtude de falhas")
retries = assert(tonumber(timeout or 10), "o 6o. argumento o nmero mximo "..
retries = assert(tonumber(timeout or 10), "o 7o. argumento o nmero mximo "..
"de tentativas de acesso ao barramento em virtude de falhas")
local params = {
bushost = bushost,
......@@ -42,8 +43,9 @@ OpenBusContext:setDefaultConnection(conn)
-- define callback for auto-relogin
function conn:onInvalidLogin()
repeat
local ok, result = pcall(self.loginByPassword, self, entity, password
or entity)
local ok, result = pcall(self.loginByPassword, self, entity,
password or entity,
domain)
if not ok then
if result._repid == except.repid.AlreadyLoggedIn then
ok = true -- ignore this exception
......
......@@ -3,13 +3,14 @@ local openbus = require "openbus"
-- process command-line arguments
local bushost, busport, entity, password, language = ...
local bushost, busport, entity, domain, password, language = ...
bushost = assert(bushost, "o 1o. argumento é o host do barramento")
busport = assert(busport, "o 2o. argumento é a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento é um número de porta")
entity = assert(entity, "o 3o. argumento é a entidade a ser autenticada")
domain = assert(domain, "o 4o. argumento é o dominio da senha de autenticação")
language = assert(language or "Portuguese",
"o 4o. argumento deve ser uma das opções: English, Spanish, Portuguese")
"o 6o. argumento deve ser uma das opções: English, Spanish, Portuguese")
local params = {
bushost = bushost,
busport = busport,
......@@ -26,8 +27,9 @@ OpenBusContext:setDefaultConnection(
-- perform operations in protected mode and handle eventual errors
local ok, result = pcall(function ()
-- login to the bus
OpenBusContext:getCurrentConnection():loginByPassword(entity, password
or entity)
OpenBusContext:getCurrentConnection():loginByPassword(entity,
password or entity,
domain)
-- find the offered service
local OfferRegistry = OpenBusContext:getOfferRegistry()
return OfferRegistry:findServices{
......
......@@ -3,11 +3,12 @@ local openbus = require "openbus"
-- process command-line arguments
local bushost, busport, entity, password = ...
local bushost, busport, entity, domain, password = ...
bushost = assert(bushost, "o 1o. argumento o host do barramento")
busport = assert(busport, "o 2o. argumento a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento um nmero de porta")
entity = assert(entity, "o 3o. argumento a entidade a ser autenticada")
domain = assert(domain, "o 4o. argumento o dominio da senha de autenticao")
local params = {
bushost = bushost,
busport = busport,
......@@ -24,8 +25,9 @@ OpenBusContext:setDefaultConnection(
-- call in protected mode
local ok, result = pcall(function ()
-- login to the bus
OpenBusContext:getCurrentConnection():loginByPassword(entity, password
or entity)
OpenBusContext:getCurrentConnection():loginByPassword(entity,
password or entity,
domain)
-- find offers of the required service
local OfferRegistry = OpenBusContext:getOfferRegistry()
return OfferRegistry:findServices{{name="offer.domain",value="Demo Hello"}}
......
......@@ -9,7 +9,8 @@ bushost = assert(bushost, "o 1o. argumento é o host do barramento")
busport = assert(busport, "o 2o. argumento é a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento é um número de porta")
entity = assert(entity, "o 3o. argumento é a entidade a ser autenticada")
interval = assert(tonumber(interval or 1), "o 5o. argumento é um tempo entre "..
domain = assert(domain, "o 4o. argumento é o dominio da senha de autenticação")
interval = assert(tonumber(interval or 1), "o 6o. argumento é um tempo entre "..
"tentativas de acesso ao barramento em virtude de falhas")
local params = {
bushost = bushost,
......@@ -55,8 +56,9 @@ OpenBusContext:setDefaultConnection(conn)
-- define callback for auto-relogin
function conn:onInvalidLogin()
repeat
local ok, result = pcall(self.loginByPassword, self, entity, password
or entity)
local ok, result = pcall(self.loginByPassword, self, entity,
password or entity,
domain)
if not ok then
if result._repid == except.repid.AlreadyLoggedIn then
ok = true -- ignore this exception
......
......@@ -4,11 +4,12 @@ local openbus = require "openbus"
-- process command-line arguments
local bushost, busport, entity, password = ...
local bushost, busport, entity, domain, password = ...
bushost = assert(bushost, "o 1o. argumento é o host do barramento")
busport = assert(busport, "o 2o. argumento é a porta do barramento")
busport = assert(tonumber(busport), "o 2o. argumento é um número de porta")
entity = assert(entity, "o 3o. argumento é a entidade a ser autenticada")
domain = assert(domain, "o 4o. argumento é o dominio da senha de autenticação")
local params = {
bushost = bushost,
busport = busport,
......@@ -62,7 +63,7 @@ local function newLogin()
-- connect to the bus
local conn = OpenBusContext:createConnection(bushost, busport, connprops)
-- login to the bus
conn:loginByPassword(entity, password or entity)
conn:loginByPassword(entity, password or entity, domain)
-- return the connection with the new login
return conn
end
......
......@@ -5,6 +5,7 @@ BUSPORT=2089
SYSTEM=testsyst
KEYPATH=$(dirname $OPENBUS_TESTCFG)/testsyst.key
USER=testuser
DOMAIN=testing
PASSWORD=$USER
CONSOLE="${OPENBUS_HOME}/bin/busconsole"
......@@ -33,4 +34,4 @@ for service in server proxy; do
done
echo "Executing demo '$2' ... "
$CONSOLE $2/client.lua $BUSHOST $BUSPORT $USER $PASSWORD
$CONSOLE $2/client.lua $BUSHOST $BUSPORT $USER $DOMAIN $PASSWORD
......@@ -34,7 +34,7 @@ local errmsg = {
},
LoginByPassword = {
[repid.AccessDenied]
= "a senha fornecida para a entidade $entity foi negada",
= "a senha fornecida para a entidade $entity foi negada ($message)",
},
LoginByCertificate = {
[repid.AccessDenied]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment