none
Database Login VS Nova Tabela Login RRS feed

  • Pergunta

  • Olá,

    Estou de momento a desenvolver uma aplicação que será para uso público e cheguei num paradigma no qual não consigo encontrar resposta.

    Ex de funcionamento:
    Eu: Administrador (acesso a tudo, até aí sem problemas)
    Cliente1: Administrador Empresa X
    ClienteX: Utilizador da Empresa X

    Cliente2: Administrador Empresa Y
    ClienteY: Utilizador da Empresa Y

    Ambos partilham a mesma base de dados, tabelas.

    Cada administrador tem que ter acesso restrito apenas ás rows criadas/alteradas respetivas à sua empresa (no caso do Cliente1 só tem acesso a tudo que for referente à Empresa X). Neste caso não tenho a certeza mas através da pesquisa que fiz posso utilizar Row Permissions Link de Exemplo

    O meu problema é, cada Cliente da empresa tem que ter permissões diferentes, ou seja, o ClienteX1 pode ter acesso completo a uma determinada tabela mas o ClienteX2 só pode ver.

    Neste caso poderia criar na base de dados Roles, cd um deles com determinadas permissões e depois teria que associar cada Cliente aos roles pretendidos.

    Principal Questão:
    Para fazer o que quero, para cada utilizador da base de dados terei que criar um USER na DB para conseguir fazer isso (ou seja se tiver 1 milhão de clientes, terei 1 milhão de USERS e LOGINS na DB.

    Eu tinha criado uma tabela custom para os logins (tabela normal com as informações), é possível utilizar cada uma das linhas da tabela e associar permissões a cada um???

    Desculpa se foi confusa a explicação.

    Tentativa de Exemplo:

    TabelaUsers (idUser, Login, Password, etc)
    para cada idUser poder atribuir permissões do que pode fazer

    Ou se tenho mesmo que migrar toda essa tabela de logins para DB Logins / Users e depois atribuir cd um deles a essa TabelaUsers.

    EDIT:
    Me lembrei agora que posso resolver isto com uma tabela com as permissões e associar os users ás permissões, teria é que depois ter tudo através de stored procedures de modo a garantir que as mesmas são sempre cumpridas. Mas gostava de ter outra solução que n me obrigue a ter o simples CRUD todo em stored_procedures.
    • Editado AD_AE sexta-feira, 8 de dezembro de 2017 15:56
    sexta-feira, 8 de dezembro de 2017 12:29

Respostas

  • Bom dia, AD_AE.

    Nesse caso, você deveria abrir essa questão como uma discussão, assim junto com a comunidade você poderá encontrar a melhor maneira de implementar o que você deseja.

    Para abrir uma discussão, você deve fazer o mesmo processo de abrir uma pergunta, mas ao invés de marcar como pergunta, você marca como discussão geral, assim:

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 11 de dezembro de 2017 12:20
    Moderador

Todas as Respostas

  • Boa tarde, AD_AE. Tudo bem?

    Essa seria uma questão de "Break Fix/Erro" ou "How to/Customização"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 8 de dezembro de 2017 19:30
    Moderador
  • Boas,

    Seria mesmo how to, preciso de fazer isso de ter q os utilizadores tenham 1 como admin e depois todos os pertencentes à sua empresa (no caso do exemplo) possam ter permissões diferentes (e só podendo alterar o conteúdo pertencente à mesma). 

    Sei que posso fazer através dos users na DB e permitir q o admin desse os roles com cd permissão aos funcionários, mas gostaria de saber se tem uma forma mais eficiente para não ter 500mil logins na base de dados.

    Sendo mesmo uma tabela normal (custom, como habitual) mas podendo ter a mesma funcionalidade.

    Outra coisa que me lembrei seria q o cliente (aplicação) comunicaria com um servidor, o servidor tratava das permissões q estavam setadas numa tabela da BD e dava autorização ou n (ou webservice n sei).

    Estou mesmo a procura de uma forma de fazer isso de forma eficiente e "correta".

    Desde já obrigado,
    ADAE.


    • Editado AD_AE sexta-feira, 8 de dezembro de 2017 20:37
    sexta-feira, 8 de dezembro de 2017 20:36
  • Bom dia, AD_AE.

    Nesse caso, você deveria abrir essa questão como uma discussão, assim junto com a comunidade você poderá encontrar a melhor maneira de implementar o que você deseja.

    Para abrir uma discussão, você deve fazer o mesmo processo de abrir uma pergunta, mas ao invés de marcar como pergunta, você marca como discussão geral, assim:

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 11 de dezembro de 2017 12:20
    Moderador