Configurar REST para responder somente a grupo de empresas e filiais específicas bloqueando acesso a outras

Olá estamos com um projeto onde deverá ser bloqueado o acesso de determinados grupos de empresas e filiais ao serviço em questão via rest, dessa forma venho aqui perguntar se existe uma forma de listar os grupos de empresas e filiais que estão permitidos a criação de threads de atendimento, algo como o prepareIn porém o prepareIn ao que parece não serve para bloquear outras threads de serem criadas.

Exemplo:

possuo grupo de empresas 99 e filiais 01,02,03, quero limitar somente a filial 01,02 a subirem threads pois são as únicas que poderão participar do projeto.

Configura a tag do prepareIn com:

PrepareIn=99,01;99,02

evitando assim da filial 03 ser atendida por requisições, porém somente com preparein eu consigo mandar um tenantId com 99,03 e uma nova thread sobe com o ambiente 03 setado e responde com sucesso.

Vinicius, eu vou pesquisar melhor, mas acho que não existe nada assim, algo como restringir. Você está usando qual REST, o antigo ou o 2.0?

Vinicius,

Existem algumas configurações que chegam a um resultado semelhante.


Criar mais de um URI

Você vai criar uma URI para cada filial que deseja que o REST atenda:


[HTTPREST]
Port=8000
URIs=URI01,URI02

[URI01]
URL=/01
PrepareIn=99,01
Instances=2,2

[URI02]
URL=/02
PrepareIn=99,02
Instances=2,2

Aqui foi criado um REST na porta 8000, atendendo no localhost:8000/01 para a filial 01 e no localhost:8000/02 para a filial 02, logo não existe REST para a filial 03.


Criar um usuário de acesso ao REST

Você pode criar um usuário de acesso ao REST e restringir o acesso dele a filial 03, todas as requisições vão enviar esse usuário no Authentication e com isso, ao tentar usar a filial 03, a validação de acesso a filiais vai barra a execução.


Melhoria

Por fim, você pode usar a Central Colaborativa para solicitar um ponto de entrada que seja executado antes de cada requisição, de forma a restringir da maneira que deseja uma resposta REST.

obrigado daniel!