Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

acessando o nome de usuário no controlador da web api quando a tabela de banco de dados armazena o usuário como inteiro


Da perspectiva da API da Web ASP.NET, usar o provedor de associação e o FormsAuthentication pronto para uso já é complicado, então por que não a associação? :) De qualquer forma, supondo que sua API da web seja consumida apenas pelos clientes da web e o FA seja legal, você pode usar o UserData do ticket do FA para inserir o ID do usuário. Dessa forma, você não precisa obter o ID acessando seu banco de dados todas as vezes. Mas você mesmo precisará criar o ticket e não deixar que a implementação padrão pronta para uso faça isso por você. Em seguida, no evento PostAuthenticateRequest, você pode ler o ID do usuário do ticket e defini-lo na identidade. Claro, você precisa criar sua própria identidade personalizada para isso com uma propriedade ID ou se você estiver no .NET 4.5, você pode usar o próprio FormsIdentity, mas você pode usar a declaração NameIdentifier para armazenar o ID, talvez. Confira - ASP.NET MVC - Defina IIdentity ou IPrincipal personalizado .