Mysql
 sql >> Database >  >> RDS >> Mysql

Autenticazione per un'app desktop

Dovresti esaminare la creazione di un servizio Web (SOAP), http web-api (REST) ​​o qualche altro middleware per atrarre l'archiviazione dei dati.

Questo ha i vantaggi di:

  • Ti consente di trasferire gran parte della logica aziendale dall'app desktop al middle ware
  • Ti consente di mantenere la logica aziendale fuori da sql, che potrebbe essere un collo di bottiglia
  • Ti permette di aggiornare la tua logica aziendale senza ridistribuire la tua app desktop (più facile se non hai il controllo diretto di tutti i desktop).
  • Consentendoti di controllare l'autenticazione (molti server web hanno i propri moduli, metodo di autenticazione). La tua app controllerà l'accesso e lo spazio di archiviazione con il proprio account di servizio.
  • Ti permette di modificare completamente la memoria dei tuoi dati (diciamo che in futuro ne memorizzi alcuni in sql, alcuni in mongodb, altri in cloud storage, ancora una volta, senza dover aggiornare tutti i tuoi desktop.
  • Consente di ampliare il front-end e, eventualmente, anche lo storage di back-end (ad esempio, repliche di DB di lettura/scrittura)

Se stai già lavorando con C#, la nuova API Web MVC4 dovrebbe essere adatta. Leggi di più qui:

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

Se segui questa strada, puoi controllare l'accesso al tuo servizio e fare in modo che il tuo servizio acceda al database tramite le credenziali in una stringa di connessione o, se usi IIS, le credenziali nel pool di applicazioni mappate al tuo sito.

Se stai inviando la tua app desktop (non stai ospitando il DB), puoi anche ospitare autonomamente l'api web nel suo exe se i tuoi clienti non vogliono installare/gestire IIS.

Infine, se il tuo mysql è online, il tuo middleware potrebbe essere nel cloud (azure ecc...)