Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Autenticação para um aplicativo de desktop


Você deve procurar criar um serviço da web (SOAP), http web-api (REST) ​​ou algum outro middleware para abstrair seu armazenamento de dados.

Isso tem os benefícios de:
  • Permite que você mova grande parte da lógica de negócios do seu aplicativo de desktop para o middleware
  • Permite manter a lógica de negócios fora do sql, o que pode ser um gargalo
  • Permite que você atualize sua lógica de negócios sem redistribuir seu aplicativo de desktop (mais fácil se você não tiver controle direto de todos os desktops).
  • Permitindo que você controle a autenticação (muitos servidores web têm seus próprios módulos, método de autenticação). Seu aplicativo controlaria o acesso e o armazenamento de acesso em sua própria conta de serviço.
  • Permite que você altere completamente seu armazenamento de dados (digamos que no futuro você armazene alguns em sql, alguns em mongodb, alguns em armazenamento em nuvem - mais uma vez, sem precisar atualizar todos os seus desktops.
  • Permite dimensionar seus front-ends e até mesmo dimensionar seu armazenamento de back-end (por exemplo, ler/gravar réplicas de banco de dados)

Se você já está trabalhando com C#, a nova web-api MVC4 deve ser uma boa opção. Leia mais aqui:

http://www.asp.net/web-api

Se você seguir esse caminho, poderá controlar o acesso em seu serviço e fazer com que seu serviço acesse o banco de dados por meio de credenciais em uma cadeia de conexão ou, se usar o IIS, credenciais no pool de aplicativos mapeadas para seu site.

Se você estiver enviando seu aplicativo de desktop (você não está hospedando o banco de dados), também poderá hospedar a API da Web em seu próprio exe se seus clientes não quiserem instalar/gerenciar o IIS.

Finalmente, se seu mysql estiver online, seu middleware pode estar na nuvem (azure etc...)