Boa tarde
Preciso tirar um dúvida com os professores...
Estou desenvolvendo uma aplicação asp.net mvc Core, porém utilizo apenas 1 banco de dados, mas preciso filtrar os dados de acordo com o usuários logado.
Então minha tabela existira uma coluna chamado Grupo_Usuario e na tabela Usuário conterá também uma Coluna chamada Grupo_Usuario eu tenho as seguintes regras para passar ao sistema, (é isso que estou com dúvida)
- Quando um novo usuário se cadastra, eu tenho que gerar um NOVO ID para que eu use este valor para filtrar e cadastrar dados... é a melhor opção trabalhar com session ?, não é inseguro ? Qula outra forma tenho ?
2 . Imaginando que o ID venha, por algum lugar (pergunta 1), o usuário vai cadastrar um novo cliente, então eu passo na coluna Grupo_Usuario o codigo que nele esta relacionado, certo... cadastrar seria até fácil... mas e para filtrar ?
Me parece meio errado fazer assim....
public IActionResult ListaCliente()
{
var XPTO = SessionGrupoUsuairio_ou_outra_fonte;
var dados = _DataServices.Lista.Where(a => a.Grupo_Usuario == XPTO).ToList();
}
Ou esta regra deveria estar no DataSevices (Igual ao DAO la) ?
public IActionResult ListaCliente()
{
var dados = _DataServices.Lista.().ToList();
}
DataServices()
{
public IList<Clientes> Lista()
{
return _contexto.Clientes.Where(a => a.Grupo_Usuario = XPTO);
}
}
Ou tem outra forma mais PROFISSIONAL de resolver isso ?