Api , WebService

MVC

.NET

C#

ASP.NET

03/01/2018

Olá pessoa,
Estou desenvolvendo um web service que vai ser disponibilizado para varias empresas acessarem até ai tudo bem.
Como faço para cada empresa somente acessar os dados pertencentes a ela?
Eu tenho uma tabela com 40 empresas e uma tabela de pessoas que pertencem as essas empresas.
Como faço para empresa A acessar somente as pessoas da empresa A ?
eu pensei em claims e roles mais não sei se vai funcionar.
Alguêm já fez algo parecido?
Rafael Prado

Rafael Prado

Curtidas 0

Respostas

Fabio Parreira

Fabio Parreira

03/01/2018

Geralmente na tabela de cliente você cria uma chave de acesso para cada cliente e com base nessa chave você amarra seu cliente.
GOSTEI 0
Rafael Prado

Rafael Prado

03/01/2018

Nesse caso então eu posso usar o Id da empresa que é uma das chaves estrangeiras da tabela pessoa e fazer a
busca somente pelo Id da empresa que está se conectando.
Acho que vi uma luz no fim do tunel.
Nâo sei se seria a melhor forma.
GOSTEI 0
Pjava

Pjava

03/01/2018

Então, cada pessoa pertence a uma empresa e uma empresa tem várias pessoas. De cara um N -> N, precisa de uma tabela associativa aí, certo? Nesse caso você vai trazer a empresa associada aquela pessoa. Vai fazer um join com pessoa e empresa. Faça isso no banco primeiro e depois pegue a query e transforme em LINQ, Lambda ou Ado.Net e rode o seu programa com ela. Faça funcionar primeiro a query no banco. Esqueça o C# e trabalhe no banco. Trouxe o resultado esperado, agora passe para o C#.
GOSTEI 0
Rafael Prado

Rafael Prado

03/01/2018

Pessoal já foi resolvido.
E u faço uma verificação pelo usuário logado, ppego o usuario logado e faço uma verificação qual empresa ele pertence logo após
faço a busca pelo id da empresa que usuário pertence fazendo assim eu libero somente os dados da empresa do usuário.
GOSTEI 0
POSTAR